Python

넘파이 ndarray의 axis축(axis≠행열)

  • -
728x90

axis에 대해서 조금 더 자세히 알아보자

axis를 행과 열이라고 알고 있는 사람들이 많다. 사실 완전히 틀린말은 아니지만 엄밀히 말하면 다르다.

axis는 축이 지 행과 열이 아니다. 2차원 ndarray에서는 행과 열이 축이 되겠지만 다차원에서는 행과 열만이 축이 되지 않기 때문에 일정수준 머신러닝과 딥러닝을 공부했다면 차이를 알고 있어야 한다.

 

아래 사진을 보자

가장 왼쪽에 있는 3×3 형태의 2차원 ndarray는 두개의 축을 가지고 있다.

axis=0 <- 행 방향 축

axis=1 <- 열 방향 축

우리는 대부분 데이터분석(머신러닝)을 할때 2차원형태의 데이터프레임을 사용하기 때문에 사실 아 행열이구나 외우고 있어도 초반에는 상관이 없으나 딥러닝에 들어가는 순간부터 다차원 데이터를 사용하기 때문에 구분이 필요하다.

 

쉽게말하면 '크게 봤을때 가장 큰(첫) 단위가 axis=0이다.'

 

1차원 축

1위 사진에서 1차원 배열을 보자 하나의 행으로 이루어진 단순 배열이기에 행은 축이 될 수 없다. 따라서 열 축은 하나만 가지고 있기 때문에  1차원에서는 열방향이 axis=0이다.

 

2차원 축

2차원 배열에서는 이제 행이 추가 되어 행도 축이 될 수 있다. 따라서 한칸 미뤄서 이번에는 행이 axis=0이고 열이 axis=1이다. 

 

3차원 축

그렇다면 3차원 배열에서는 축이 어떻게 될까? 가장 크게 봤을대 2차원 배열이 여러개 있는 z축이 제일 큰 단위이기 때문에 이번에는 axis=0가 위 사진과 같이 되고 axis=1이 행 axis=2이 열이 된다.

 

이처럼 n차원으로 간다하더라도 가장 큰 n-1단위가 axis=0이 된다.

 

따라서 위 사진에서 물음표는 다음과 같이 채울 수 있다.

 

 

728x90

'Python' 카테고리의 다른 글

자료구조 #1 Array  (0) 2023.12.21
자료구조 #2 Queue  (0) 2023.12.21
Numpy 기본  (1) 2023.10.28
numpy 개요(ndarray와 배열의 타입)  (0) 2022.07.27
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.