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')
반응형