Numpy:两个向量的布尔比较

时间:2014-01-31 16:22:19

标签: numpy

我有两个向量(或两个具有相同元素数量的一维numpy数组) a b 我想找到我拥有的个案数量:

a< 0和b> 0

但是当我在IPython中输入上述(或类似的东西)时,我得到:

ValueError:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()

我该如何进行上述操作?

谢谢

1 个答案:

答案 0 :(得分:2)

我不确定我理解你要做什么,但你可能想要((a < 0) & (b > 0)).sum()

>>> a
array([-1,  0,  2,  0])
>>> b
array([4, 0, 5, 3])
>>> a < 0
array([ True, False, False, False], dtype=bool)
>>> b > 0
array([ True, False,  True,  True], dtype=bool)
>>> ((a < 0) & (b > 0)).sum()
1