为了对元素求和,我们有二元运算符 np.add
,此外还有处理多个元素的 np.sum
。同样,我们有 np.multiply
和 np.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]])
您正在考虑 np.all
(对于 logical_and
)或 np.any
(对于 logical_or
)。
In [11]: a.any(axis=1)
Out[11]: array([ True, True, True], dtype=bool)
我是一名优秀的程序员,十分优秀!