假设我有一个像numpy数组:
a = array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[3, 2, 1]])
我想检查第二个元素是否== 2.
我知道我可以这样做:
>>> a[:,1]==2
array([ True, False, False, True], dtype=bool)
返回布尔值。我的问题是,如何获取条件为真的行的行号?在这个例子中,我想回到array([0, 3])
因为第0行和第3行匹配条件第二个元素== 2.
答案 0 :(得分:8)
使用np.where
返回索引:
In [79]:
np.where(a[:,1]==2)
Out[79]:
(array([0, 3], dtype=int64),)