2016-08-15 18 views
3

numpyのことでインデックスを検索します。 "A""B"のインデックスはどのようにして見つけることができますか?私はnumpyの配列リストを持っている

は、私が使用:

np.where(x == ["A", "B"]) 
np.where(x in ["A", "B"]) 
np.where(x == any(["A", "B"])) 

しかし、それは私を助けていませんでした。要素単位のORため

+0

Divakar - あなたの重複が受け入れ答えが欠落している、マスクのlogical_orを使用して1。私には良い複製のように見えません。 :) – hpaulj

+0

私はちょうど別の可能な 'duplicate'で、このような場合には、おそらくここで与えられた' logical_or'答えを使って、 'np.in1d'(もう一方の複製で受け入れられた答え)に注意しました。 'in1d'のコードを見てください。 http://stackoverflow.com/a/38924371/901925 – hpaulj

答えて

5

使用|またはnp_logical_or

x = np.array(x) 
np.where((x=='A') | (x=='B')) 
Out: (array([0, 1, 2, 3, 6], dtype=int64),) 

np.where(np.logical_or(x=='A', x=='B')) 
Out: (array([0, 1, 2, 3, 6], dtype=int64),) 
+0

大きな条件、つまりx == 'A'、x == 'B'、x == 'C'、x == 'D'の場合どのようにリストを使うことができますか? x == ['A'、 'B'、 'C​​'、 'D']のようなもの? –

+0

'' in1d': 'np.in1d(x、['A'、 'B'、 'C​​'、 'D'])'(これはnp.where内の条件になります) – ayhan

関連する問題