沿NumPy数组的一个轴按位OR

时间:2016-12-02 21:31:50

标签: numpy

对于给定的NumPy数组,很容易执行" normal"沿着一个维度求和。例如:

X = np.array([[1, 0, 0], [0, 2, 2], [0, 0, 3]])
X.sum(0)
    =array([1, 2, 5])
X.sum(1)
    =array([1, 4, 3])

相反,是否有效率"类似地沿阵列的一个维度计算按位OR的方法?类似下面的内容,除了不需要for循环或嵌套函数调用。

示例:正如我目前所做的那样沿着零维度按位OR:

np.bitwise_or(np.bitwise_or(X[:,0],X[:,1]),X[:,2])
    =array([1, 2, 3])

我想要的是什么:

X.bitwise_sum(0)
    =array([1, 2, 3])

1 个答案:

答案 0 :(得分:8)

numpy.bitwise_or.reduce(X, axis=whichever_one_you_wanted)

使用numpy.bitwise_or ufunc。

reduce方法