2016-12-02 3 views
1

주어진 NumPy 배열의 경우 한 차원을 따라 "일반"합계를 쉽게 계산할 수 있습니다. 예 :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]) 

대신에 배열의 한 차원을 따라 비트 OR을 계산하는 "효율적인"방법이 있습니까? for-loops 나 중첩 된 함수 호출을 필요로하지 않는다는 점을 제외하면 다음과 같은 것입니다.

예 : 비트 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]) 

답변

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

사용 numpy.bitwise_or ufunc의 reduce 방법.

관련 문제