numpy 다 차원 배열 조작 np. applyover_axes 사용

레 퍼 런 스http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.apply_over_axes.html
numpy.apply_over_axes(func, a, axes)[source]
그 중에서 a 는 조작 해 야 할 입력 배열 입 니 다. func 는 조작 함수 입 니 다. 예 를 들 어 더하기 와 sum, 평균 값 average 또는 다른 사용자 정의 함수, axes 는 조작 해 야 할 축 입 니 다.
예 를 들 어 다음은 하나의 차원 이 2, 3, 4 의 3 차원 행렬 이 고 24 개의 요소 가 있다.
>>> a = np.arange(24).reshape(2,3,4)
>>> a
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])

만약 우리 가 그 중의 1 차원 과 3 차원 을 합병 하고 싶다 면, 우 리 는 axes 를 [0, 2] 로 쓸 것 이다.
>>>
>>> np.apply_over_axes(np.sum, a, [0,2])
array([[[ 60],
        [ 92],
        [124]]])

만약 우리 가 세 워 진 열 을 각각 합병 하고 싶다 면, 예 를 들 어 첫 번 째 열 을 0, 4, 8, 12, 16, 20 이라는 열 을 합 치 는 것 이다.사실은 1 차원 과 2 차원 을 합병 하여 3 차원 을 남 긴 결과 다음 과 같다.
>>> np.apply_over_axes(np.sum, a, [0,1])
array([[[60, 66, 72, 78]]])

물론 더하기 만 하면 numpy. sum 함수 로 상기 효 과 를 완성 할 수 있 습 니 다. 예 를 들 어 아래 와 같 습 니 다.
Tuple axis arguments to ufuncs are equivalent:  이것 은 아까 위 에 있 던 것 과 1 차원 과 3 차원 을 합 친 예 와 같은 효과 입 니 다.
>>>
>>> np.sum(a, axis=(0,2), keepdims=True)
array([[[ 60],
        [ 92],
        [124]]])

좋은 웹페이지 즐겨찾기