2014-03-27 80 views
1

例如,我有以下二維數組。如何從具有索引的二維數組中獲取值

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

我想從每列中獲取一個元素。例如,我想從第二列獲得3,從第二列獲得6
怎樣才能用索引[1,2]。 1指從第一列2RD元素,2指從2RD列第3元

回答

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]) 
相關問題