본문으로 바로가기

[Numpy] axis(축) 이해

category AI/데이터분석 2020. 1. 19. 19:54
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

axis 이해하기

몇몇 함수에는 axis keyword 파라미터가 존재.

axis 값이 없는 경우에는 전체 데이터에 대해 적용.

axis 값이 있는 경우에는 해당 axis 를 따라서 연산을 적용.

따라서 결과는 해당 axis 가 제외된 나머지 차원의 데이터만 남게됨.

 

 

1차원 데이터에 적용하기

1차원은 어차피 축이 하나기때문에 axis를 명시하나 안하나 똑같은 결과를 반환.

 

 


행렬에 적용하기

세로 : 행이 증가하는 방향 (axis = 0)

가로 : 열이 증가하는 방향 (axis = 1)

 

axis = 0 을 하면 행방향으로 sum을 진행함.

 

 

 


3차원 텐서에 적용하기

axis = 0 일 때는 첫번째 인자인 텐서의 작은 행렬 상자(?)를 압축시킨다고 생각하면 됨.

결국 계산의 결과는 첫번째 디멘젼을 날리고 뒤의 2차원 행렬의 크기로 반환.

 

위와 같이 axis = 0 을 따라 (3,2,4) 3차원 텐서를 계산하게 되면 뒤의 (2,4) 크기의 행렬로 나오게 됨.

 

 

axis=1 에 대해서 계산을 할 경우, (3,2,4)에서 2가 사라진 (3,4) 행렬이 반환됨.

그리고 그 의미는 각 상자에서 행이 증가하는 방향을 계산했다라고 보면 됨.

 

마지막으로 axis=2 에 대해서 계산을 하면 (3,2,4)텐서에서 4가 사라진 (3,2) 행렬이 반환됨.

이 때 의미는 각 상자에서 열이 증가하는 방향으로 계산을 했다고 봐야함.

 

 

 


axis 값이 튜플인 경우

해당 튜플에 명시된 모든 axis에 대해서 연산

 

axis 에 명시되지 않은 디멘젼만 살아남는다고 보면 된다.

 

 

 

 

 

 

 

위 내용은 fastcampus 강의 내용을 정리한 것입니다.