numpy 如何从带索引的二维数组中获取值

iezvtpos  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(125)

例如,我有下面的二维数组。

>>>np.array(((1,2),(3,4),(5,6))) 
>>>array([[1, 2],
          [3, 4],
          [5, 6]])

我想从每一列得到一个元素,例如,我想从第一列得到3,从第二列得到6
如何使用索引[1,2]进行计算?1表示第1列的第2个元素,2表示第2列的第3个元素

62o28rlo

62o28rlo1#

你可以用所谓的花式索引来实现:

In [57]: x = np.array(((1,2),(3,4),(5,6)))

# np.arange(x.shape[1]) gives [0,1], the column indices
# needed to select "one from each column"
In [58]: x[[1,2], np.arange(x.shape[1])]
Out[58]: array([3, 6])

或者您可以使用np.choose

In [44]: np.choose([1,2], x)
Out[44]: array([3, 6])

相关问题