【问题标题】:Bitwise OR along one axis of a NumPy array沿 NumPy 数组的一个轴按位或
【发布时间】:2016-12-02 21:31:49
【问题描述】:

对于给定的 NumPy 数组,很容易沿一维执行“正常”求和。例如:

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])

相反,是否有一种“有效”的方法可以类似地沿数组的一维计算按位或?类似于以下内容,除了不需要 for 循环或嵌套函数调用。

示例:按照我目前的做法,沿第零维按位或:

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

我想要什么:

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

【问题讨论】:

    标签: numpy


    【解决方案1】:
    numpy.bitwise_or.reduce(X, axis=whichever_one_you_wanted)
    

    使用numpy.bitwise_or ufunc 的reduce 方法。

    【讨论】:

      猜你喜欢
      • 2021-07-20
      • 2020-11-10
      • 2011-09-03
      • 2020-08-01
      • 2011-06-29
      • 2011-01-22
      • 2019-04-12
      • 1970-01-01
      相关资源
      最近更新 更多