我有兩個陣列具有相同數量的元件條件對numpy的陣列
X = [1,2,3,4,5,6,7,8,9]
Y = [10,4,3,7,7,3,1,8,98]
的我想保留的X和Y的這樣的元素作爲2<X<7
。我能怎麼做?
確定它
Y = Y[np.logical_and(X>2, X<5)]
X = X[np.logical_and(X>2, X<5)]
非常感謝效果很好!
我有兩個陣列具有相同數量的元件條件對numpy的陣列
X = [1,2,3,4,5,6,7,8,9]
Y = [10,4,3,7,7,3,1,8,98]
的我想保留的X和Y的這樣的元素作爲2<X<7
。我能怎麼做?
確定它
Y = Y[np.logical_and(X>2, X<5)]
X = X[np.logical_and(X>2, X<5)]
非常感謝效果很好!
您可以使用numpy.logical_and
:
>>> X = np.array([1,2,3,4,5,6,7,8,9])
>>> X[np.logical_and(X>2, X<7)]
array([3, 4, 5, 6])
或者按鍵較少:'X [(X> 2 )&(X <7)]。 – jme 2014-10-22 14:30:20
,你可以使用一個循環和if
,也可以使用set()
爲保持輸精管指標:
>>> X = [1,2,3,4,5,6,7,8,9]
>>> Y = [10,4,3,7,7,3,1,8,98]
>>> X=[i for i in X if 2<i<7]
>>> Y=[i for i in Y if 2<i<7]
>>> X
[3, 4, 5, 6]
>>> Y
[4, 3, 3]
>>> set(Y)
set([3, 4])
嘗試使用過濾器?你所展示的只是列表。 – 2014-09-25 09:17:50
是的抱歉,它是一個簡單的Python列表,但如果解決方案與numpy更簡單,我可以使用numpy數組。只有一個條件很容易。我可以使用X = X [X> 2]。我認爲另一種類似的方法可能有兩個值 – Fabien 2014-09-25 09:21:22