numpy에서 3D 배열의 경우 axis = 3?

Sep 21 2020

다음에서 축 = 3에 대한 오류가 발생하지 않는 이유에 대해 혼란 스럽습니다.

import numpy as np

a = np.arange(27)
b = np.arange(27)

a = a.reshape((3,3,3))
b = b.reshape((3,3,3))

c = np.mean([a,b],axis=3)

위의 코드를 numpy에서 축이 어떻게 작동하는지 이해하는 방법으로 사용했습니다.

2D 사례를 보여주는 이 기사 에서

다차원 축의 경우 축 0은 항상 행 (y 차원)을 따라 있고 축 1 (x 차원)은 열을 따라 있다는 것을 알았습니다. 그래서 3d 배열이있는 경우에는 'z 방향'을 따라 축 = 2 인 축이 1 개 더있을 것이라고 생각했을 것입니다. 그러나 numpy를 사용하면 축 = 3도 입력 할 수 있습니까? 이 인덱싱은 어떤 방향으로 진행됩니까? 이 축을 사용하여 평균을 계산하는 방법은 무엇입니까?

답변

3 MichaelSzczesny Sep 21 2020 at 21:42

호출에서 4D 배열을 만듭니다.

c = np.mean([a,b],axis=3) # [a,b] adds 4th dimension
np.array([a,b]).shape

산출

 (2, 3, 3, 3)