np替换外轴上的循环以在内轴上取消引用单个值

时间:2018-11-22 15:14:01

标签: numpy dereference numpy-broadcasting

是否有一个简单的numpy方法(numpy版本1.11.3)执行以下操作而没有 列出理解或循环?

import numpy as np

a = np.array([[1,2],[3,4],[5,6]])
b = [0,0,1]

wanted_result = [aa[bb] for aa,bb  in zip(a,b) ]

目标是从b指定的条目中获取条目。 b中的每个索引仅应一次应用于a中的相应“列表”。即[1,2]中的第一个元素,[3,4]中的第一个元素,最后是[5,6]中的第二个元素,使得结果列表或数组为[1,3,6]?我尝试使用np.take,但是take一直都应用b的整个列表,而不应用另一个索引。

0 个答案:

没有答案