Python 中索引对应的元素

Elements corresponding to indices in Python

我想获取特定索引对应的数组元素。附上所需的输出。

import numpy as np
A=np.array([[1.1, 2.3, 1.9],[7.9,4.9,1.4],[2.5,8.9,2.3]])
Indices=np.array([[0,1],[1,2],[2,0]])

期望的输出是

array([[2.3],[1.4],[2.5]])

先循环Indices得到行索引和列索引分别为i0i1,然后得到A中的值。使用这个:

output = np.array([[A[i0][i1]] for i0, i1 in Indices])

输出:

array([[2.3],
   [1.4],
   [2.5]])

您可以单独使用Indices的列。第一列为行索引,第二列为列索引:

out = A[Indices[:, [0]], Indices[:, [1]]]

输出:

array([[2.3],
       [1.4],
       [2.5]])