본문 바로가기

Numpy

Numpy - 3차원 axis 이해하기

반응형

3차원 텐서를 이용하기 위해

 

데이터를 불러온다.

 

z는 (4행, 3열)의 2차원 데이터가 3개가 있다는 뜻이다.

 

출처 : https://wikidocs.net/52460

 

위 텐서의 shape은 (3, 4, 3)으로서

 

(차원, 행, 열)로 보면 쉽다.

 

axis는 따라서 0, 1, 2의 값을 가진다.

 

차원=0 / 행=1 / 열=2

 

 

 

 

축을 이용하기 위해 np.sum()으로 살펴보겠다.

 

 

 

 

 

 

axis = 0

 

 

axis = 0은 차원을 따라서 압축하는 것이다.

 

36의 값은 0 + 12 + 24의 결과값이 된다.

 

또한 기존 (3, 4, 3)의 shape에서

0번째 축을 따라서 압축했으므로

 

남는 것은 (4, 3)의 2차원 행렬이 된다.

 

 

 

 

 

 

 

axis=1

 

 

axis=1 은 행을 따라서 압축하는 것이다.

 

 

18은 0 + 3 + 6 + 9의 합으로 나온 결과값이다.

 

또한 기존 (3, 4, 3)의 shape에서 

1번째 축을 따라서 압축했으므로

 

(3, 3)의 2차원 행렬데이터만 남게된다.

 

 

 

 

 

 

 

axis=2

 

 

axis=2 은 열을 따라서 압축하는 것이다.

 

 

3은 0 + 1 + 2 의 합으로 나온 결과값이다.

 

또한 기존 (3, 4, 3)의 shape에서 

2번째 축을 따라서 압축했으므로

 

(3, 4)의 2차원 행렬데이터만 남게된다.

 

 

 

 

 

 

 

 

axis = (튜플)

 

axis의 값이 튜플로 주어졌을땐 순서대로 모든 축에 대해서 연산을 시행한다.

 

이처럼 튜플로 있을 때, 순서대로 하면 된다.

 

3차원에서 차원을 따라 합한뒤

 

2차원 데이터에서 을 따라 합하면 되는 것이다.

 

 

 

기존의 shape은 (3, 4, 3)이었으나

 

차원과 행을 따라 연산했기 때문에 (0, 1)

 

shape은 (3,)으로 남게 됐다.

반응형