본문 바로가기

Numpy

Numpy - 2차원 axis 이해하기

반응형

 

axis란 축을 의미한다.

axis의 값은 0, 1, 2... 이렇게 가지는데

그 축을 '따라서' 연산이된다.

'따라서' = 그 방향으로 압축한다. 라고 이해해도 좋다.

 

[2차원의 행렬데이터]

 

2차원의 행렬데이터는 (행, 열)의 모양인데

 

따라서 axis는 행 or 열로 줄 수 있다.

 

행은 0이며 열은 1이다.

 

 

 

 

 

[행 방향, 열 방향]

 

 

행이 늘어나는 방향이 위에서 아래 = 행 방향

 

열이 늘어나는 방향이 좌에서 우 = 열 방향

 

 

 

 

 

 

예시를 들어 살펴보자

 

 

 

y는 (3행 5열)의 2차원 데이터이다.

 

 

 

 

 

이를 axis별로 더해보자

 

** 기본적으로 더하게 되면 차원이 하나 줄게 된다.

 

axis=0

 

(행=0, 열=1) 즉, 행 방향

 

 

 

Numpy의 sum함수를 이용했으며

 

행 방향으로 더한 것이다.

 

예를 들어 15는 0 + 5 + 10의 결과값이다.

 

 

 

 

행을 따라서 연산을 했기 때문에 (3, 5)에서 3은 사라지고 5가 남게 된다.

 

그래서 t의 shape이 (5,)이 되는 것이다.

 

2차원 행렬데이터에서 1차원 벡터가 되었다.

 

 

 

행을 따라 압축한다는 느낌은

 

 

이러하며, 당연히 (5,)의 shape이 나오게 되는 것이다.

 

 

 

 

 

 

 

axis=1

 

(행=0, 열=1) 즉, 열 방향

 

 

열 방향으로 더한 결과이다.

 

예를 들어 10은 0 + 1 + 2 + 3 + 4의 결과값이다.

 

 

 

열을 따라서 연산을 했기 때문에 (3, 5)에서 5는 사라지고 3이 남게 된다.

 

그래서 t의 shape이 (3,)이 되는 것이다.

 

2차원 행렬데이터에서 1차원 벡터가 되었다.

 

 

 

열을 따라 압축한다는 느낌은

 

이러하며, 당연히 (3,)의 shape이 나오게 되는 것이다.

반응형