通过numpy在哪里找到索引

时间:2016-08-15 12:11:50

标签: python numpy where

我有numpy数组列表:

x = ["A", "A", "B", "A", "C", "D", "B"] 

为了找到"A"的索引,我使用np.where(x == "A"),它运行正常。 如何找到"A""B"的索引?

我用过:

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

但它对我没有帮助。

1 个答案:

答案 0 :(得分:6)

使用|np_logical_or进行逐元素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),)