有人可以請解釋這條線在python返回? 我知道它可能很容易,但對Python來說是全新的。Python排序問題x [y [:,0]> 50]
result = x[y[:,0]>50]
結果,x,y都是數組。
有人可以請解釋這條線在python返回? 我知道它可能很容易,但對Python來說是全新的。Python排序問題x [y [:,0]> 50]
result = x[y[:,0]>50]
結果,x,y都是數組。
假設你的 「陣列」 是numpy.ndarray
S,
打破它分開成片:
y[:,0]
這將返回一個數組視圖。你可以把它看作一個新的數組(現在)。有顯着差異,但他們不在這裏發揮作用。這是原始數組第一列的視圖。例如:
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> a[:,0]
array([0, 3, 6])
現在,下一部分:y[:,0] > number
。這將返回一個新的布爾值數組。該條件將針對左側數組(或視圖)中的每個元素進行評估並放入輸出中。
>>> a[:,0] > 4
array([False, False, True], dtype=bool)
最後,我們有一個布爾索引操作。這需要來自外部數組的布爾型內部數組爲True
的元素。
>>> arr2
array([ 8, 42, 63])
>>> a[:,0] > 4 # Just a reminder ...
array([False, False, True], dtype=bool)
>>> arr2[a[:,0] > 4]
array([63])
「這是您的原始數組的第一行視圖」 - 第一列。 – user2357112
@ user2357112 - 是的,這就是我的意思。在我發佈之前,我甚至在腦海中仔細考慮了這一點......我想這很難讓fortran退出我的系統。 :) – mgilson
謝謝,這真的很有幫助,現在我必須在Java中做同樣的事情,任何想法? – nette
產生「TypeError:列表索引必須是整數,而不是元組」。 –
那是純粹的'Python'還是我猜,像'numpy'? – starrify
@RamchandraApte類似這樣的語法對'numpy'完全正確,而'y [:,0]'實際上''我在y中''[i [0]]' – starrify