" numpy.logical_or&#34 ;?的相应多元素运算符版本是什么?

时间:2014-03-29 03:08:47

标签: python numpy operators

为了对元素求和,我们有二元运算符np.add,而且np.sum处理多个元素。同样,我们有np.multiplynp.product进行乘法运算。

但是对于np.logical_or,相应的多元素运算符是什么?假设我有以下数组:

In [29]: a
Out[29]: 
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])

我希望有一个类似np.logical_or(a, axis=0)的方法,这样我就可以获得这样的数组[ True, True, True]。现在我能想到的唯一方法是:

In [31]: a.sum(0).astype(bool)
Out[31]: array([ True,  True,  True], dtype=bool)

但这不是一个好方法,因为它会在数组上失败,如:

array([[-1, -1],
       [ 1,  1]])

1 个答案:

答案 0 :(得分:1)

您正在考虑np.all(针对logical_and)或np.any(针对logical_or)。

In [11]: a.any(axis=1)
Out[11]: array([ True,  True,  True], dtype=bool)