我有一个二维数组,并用一对数组对其进行索引(实际上我的数组要大得多,有数百万个元素):
a = np.array([[1, 2, 3], [4, 5, 6]])
b = a[[0, 0, 0, 1], [0, 1, 2, 0]]
索引将分配一个新数组。有没有办法对提供的输出数组进行此索引编制?
我查看了np.take
和np.choose
,但似乎它们不适用于一对数组。我设法使用np.take(..., out=buf)
来遍历数组并手动构造1-d实例,但是它导致更多的内存访问,并且几乎消除了消除分配索引结果的改进。