Data Science/Pandas

Pandas. 연산 함수와 drop 함수의 axis 동작 원리 차이

워로디스 2026. 8. 2. 12:41

1. 관점의 차이: 방향성 vs 라벨 위치

Pandas에서 메서드의 성격에 따라 axis를 바라보는 관점이 달라집니다.

  • 연산 함수 (sum, mean 등): 데이터를 계산하기 위해 "어느 축의 방향으로 이동할 것인가?"를 지시합니다.
  • 구조 변경 함수 (drop): 데이터를 삭제하기 위해 "어느 축에 있는 이름표(Label)를 찾을 것인가?"를 지시합니다.

2. drop 함수에서의 axis 적용

drop 메서드에서 axis는 특정 라벨을 찾기 위해 검색해야 할 인덱스(목차)의 대상을 지정합니다.

  • drop(라벨, axis=0)
    • 탐색 대상: 0번 축 (행 인덱스, Row Index 묶음)
    • 수행 결과: 지정한 이름표를 찾아 해당 가로줄(행) 전체를 삭제합니다.
  • drop(라벨, axis=1)
    • 탐색 대상: 1번 축 (컬럼 이름, Column Name 묶음)
    • 수행 결과: 지정한 이름표를 찾아 해당 세로줄(열) 전체를 삭제합니다.

3. Pandas 설계의 일관성

사용자에게는 다르게 작동하는 것처럼 보이나, Pandas 내부적으로는 axis의 대상을 절대적으로 고정하여 논리적 일관성을 유지합니다.

  • 기준 정의:
    • axis=0 = Index (행의 이름표 그룹)
    • axis=1 = Columns (열의 이름표 그룹)
  • 명령의 일관성 (설계자 시각):
    • sum(axis=0): 0번 축(Index)의 데이터들을 하나로 뭉쳐라.
    • drop('A', axis=0): 0번 축(Index) 그룹 중에서 'A' 라벨을 찾아 버려라.

4. 실무 권장 팁 (명시적 파라미터 사용)

숫자 0과 1의 사용이 직관적이지 않아 혼란을 초래할 경우, Pandas에서 제공하는 명시적인 문자열 파라미터를 사용하는 것이 실수를 줄이는 데 효과적입니다.

  • 행(가로줄) 삭제: df.drop('행이름', axis='index')
  • 열(세로줄) 삭제: df.drop('열이름', axis='columns')
반응형