2016-12-02 11 views
1

与えられたNumPy配列では、1次元に沿って「通常の」合計を簡単に実行できます。たとえば、NumPy配列の1つの軸に沿ったビット単位の論理和

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

代わりに、同様に配列の1次元に沿ったビット単位のORを計算する「効率的な」方法がありますか? for-loopsやネストされた関数呼び出しを必要としない場合を除き、次のようなものがあります。

例:

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

私が望む何を::

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

答えて

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

numpy.bitwise_or ufuncのreduceメソッドを使用し、私は現在、それをやっているように、ビット単位のORゼロ番目の次元に沿って。

関連する問題