Python

NumPy 축(Axis) 개념 완벽 이해

  • -
NumPy Axis 개념

🎯 NumPy 축(Axis) 개념 완벽 이해

axis 파라미터로 연산 방향 제어하기

💡 핵심 개념

axis는 연산을 적용할 "방향"을 지정해요. 중요한 건:

  • axis=0: 행을 따라(across rows) 연산 (↓) → 행들이 합쳐져 사라지고, 열별 결과가 남음
  • axis=1: 열을 따라(across columns) 연산 (→) → 열들이 합쳐져 사라지고, 행별 결과가 남음
  • 해당 축이 사라진다! axis=0이면 행 차원이 사라지고, axis=1이면 열 차원이 사라져요

📊 예제: (4, 2) 배열의 평균 구하기

array_2d = np.array([[1, 2],
                     [3, 4],
                     [5, 6],
                     [7, 8]])

shape: (4, 2) → (행 4개, 열 2개)
1
2
3
4
5
6
7
8
axis=0 (세로 방향 ↓)
np.mean(array_2d, axis=0)
1
2
3
2
5
6
7
8
첫 번째 열 평균
계산 과정:
• 첫 번째 열: (1 + 3 + 5 + 7) / 4 = 4.0
• 두 번째 열: (2 + 4 + 6 + 8) / 4 = 5.0
[4.0, 5.0]

"열별 평균" = 각 열의 값들을 모아서 평균
shape: (4, 2) → (2,) [행이 사라짐!]

axis=1 (가로 방향 →)
np.mean(array_2d, axis=1)
1
2
3
4
5
6
7
8
첫 번째 행 평균
계산 과정:
• 첫 번째 행: (1 + 2) / 2 = 1.5
• 두 번째 행: (3 + 4) / 2 = 3.5
• 세 번째 행: (5 + 6) / 2 = 5.5
• 네 번째 행: (7 + 8) / 2 = 7.5
[1.5, 3.5, 5.5, 7.5]

"행별 평균" = 각 행의 값들을 모아서 평균
shape: (4, 2) → (4,) [열이 사라짐!]

🎓 헷갈리지 않는 팁!

  1. axis 번호 = 사라질 차원
    axis=0을 지정하면 0번째 차원(행)이 사라져요
  2. 방향으로 생각하기
    axis=0: ↓ 방향으로 훑으며 연산 (열끼리 묶임)
    axis=1: → 방향으로 훑으며 연산 (행끼리 묶임)
  3. 결과의 shape 확인
    (4, 2) 배열에서 axis=0 → (2,) [첫 번째 차원 사라짐]
    (4, 2) 배열에서 axis=1 → (4,) [두 번째 차원 사라짐]
  4. 이번 예제처럼 직사각형 배열로 보면 더 명확!
    세로로 긴 배열 (4, 2)에서 axis=0 → 결과 2개
    세로로 긴 배열 (4, 2)에서 axis=1 → 결과 4개

📝 다른 함수들도 동일한 원리!

np.sum(array_2d, axis=0) # 열별 합계 → 결과: [16, 20]
np.max(array_2d, axis=1) # 행별 최댓값 → 결과: [2, 4, 6, 8]
np.std(array_2d, axis=0) # 열별 표준편차
np.argmax(array_2d, axis=1) # 행별 최댓값의 인덱스

모두 같은 axis 개념을 사용해요! 🎯

'Python' 카테고리의 다른 글

pandas  (0) 2026.03.04
numpy - broadcasting 연산  (0) 2026.03.03
jupyterLab  (0) 2026.03.02
UV  (0) 2026.03.01
pyenv  (0) 2026.02.28
Contents

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

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