我有一個NumPy的陣列看起來像這樣從NumPy的數組中的值來獲得:如何使用多個指標
arr = [100.10, 200.42, 4.14, 89.00, 34.55, 1.12]
如何我可以通過索引獲得多個值從這個數組:
例如,我怎樣才能得到指數位置1,4和5的值?
我是想這樣的事情,這是不正確的:
arr[1, 4, 5]
我有一個NumPy的陣列看起來像這樣從NumPy的數組中的值來獲得:如何使用多個指標
arr = [100.10, 200.42, 4.14, 89.00, 34.55, 1.12]
如何我可以通過索引獲得多個值從這個數組:
例如,我怎樣才能得到指數位置1,4和5的值?
我是想這樣的事情,這是不正確的:
arr[1, 4, 5]
嘗試這樣的:
>>> 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])
偉大的思想想象:P –
如果指數是2D,該怎麼辦?是否有可能使用二維數組索引二維數組作爲索引? – dashesy
你接近
>>> print arr[[1,4,5]]
[ 200.42 34.55 1.12]
另一種解決方案是使用np.take
作爲https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.take.html
a = [4, 3, 5, 7, 6, 8]
indices = [0, 1, 4]
np.take(a, indices)
# array([4, 3, 6])
指定它的價值,你沒嘗試是你如何在numpy的做多維索引。 – Iguananaut
此外,它的價值,你*不*有一個numpy數組。你有一個列表(可以很容易地轉換爲一個numpy數組)。 – mgilson