例如,我有以下二维数组。
>>>np.array(((1,2),(3,4),(5,6)))
>>>array([[1, 2],
[3, 4],
[5, 6]])
我想从每一列中获取一个元素。例如,我想从第2列获取3
,从第2列获取6
怎么能用指数来做[1,2]。 1
表示第1列中的第2个元素,2
表示第2列中的第3个元素
答案 0 :(得分:3)
您可以使用所谓的fancy indexing:
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])