2013-01-04 51 views
8

我有一個NumPy的陣列看起來像這樣從NumPy的數組中的值來獲得:如何使用多個指標

arr = [100.10, 200.42, 4.14, 89.00, 34.55, 1.12] 

如何我可以通過索引獲得多個值從這個數組:

例如,我怎樣才能得到指數位置1,4和5的值?

我是想這樣的事情,這是不正確的:

arr[1, 4, 5] 
+0

指定它的價值,你沒嘗試是你如何在numpy的做多維索引。 – Iguananaut

+1

此外,它的價值,你*不*有一個numpy數組。你有一個列表(可以很容易地轉換爲一個numpy數組)。 – mgilson

回答

25

嘗試這樣的:

>>> arr = np.array([100.10, 200.42, 4.14, 89.00, 34.55, 1.12]) 
>>> arr[[1,4,5]] 
array([ 200.42, 34.55, 1.12]) 

而對於多維數組:

>>> arr = np.arange(9).reshape(3,3) 
>>> arr 
array([[0, 1, 2], 
     [3, 4, 5], 
     [6, 7, 8]]) 
>>> arr[[0, 1, 1], [1, 0, 2]] 
array([1, 3, 5]) 
+0

偉大的思想想象:P –

+0

如果指數是2D,該怎麼辦?是否有可能使用二維數組索引二維數組作爲索引? – dashesy

4

你接近

>>> print arr[[1,4,5]] 
[ 200.42 34.55 1.12]