Python 基于不同数组的值对NumPy数组进行调节

Python 基于不同数组的值对NumPy数组进行调节,python,numpy,Python,Numpy,假设我有两个(示例)数组,其方式如下: a = np.array([4, 5,-1, 2, -3, 3, -4]) b = np.array([0, 1, 0, 0, 1, 1, 0]) 现在,我想计算(a>0,b==0)和(a

假设我有两个(示例)数组,其方式如下:

a = np.array([4, 5,-1, 2, -3, 3, -4])
b = np.array([0, 1, 0, 0, 1, 1, 0])
现在,我想计算(a>0,b==0)和(a<0,b==1)出现的次数。如何根据两个不同数组的值调整数组?如果我尝试这样做:

a[a < 0 and b == 1]

我可以使用循环来实现,但我想避免使用循环,并看看是否有更好的实现方法。

可以使用按位and运算符
&
。注意将表达式用括号括起来,因为
&
绑定得更紧

a[(a<0)和(b==1)]
一个人可以用同样的方法实现同样的行为

mask=np.logical_和(a<0,b==1)
[面具]

可以使用按位and运算符
&
。注意将表达式用括号括起来,因为
&
绑定得更紧

a[(a<0)和(b==1)]
一个人可以用同样的方法实现同样的行为

mask=np.logical_和(a<0,b==1)
[面具]

谢谢!这就解决了问题。这个问题实际上是由于每个条件周围没有括号造成的。谢谢!这就解决了问题。这个问题实际上是由于每个条件周围没有括号造成的。
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()