pivot_table은 「긴 형식(long form) 데이터를 넓은 형식(wide form)의 피벗 테이블로 재구성하는」 도구입니다.
엑셀의 「피벗 테이블」 기능과 같은 일을 한 줄로 끝냅니다.
기본 사용.
df.pivot_table(values="sales", index="region", columns="product", aggfunc="sum").
행이 region, 열이 product, 셀에 sales의 합.
한 표로 「지역별·상품별 매출」을 한눈에 볼 수 있습니다.
다양한 집계 함수.
aggfunc="sum" — 합.
aggfunc="mean" — 평균.
aggfunc="count" — 개수.
aggfunc=["sum", "mean"] — 여러 함수 동시.
aggfunc={"sales": "sum", "qty": "mean"} — 열마다 다른 함수.
여러 행·열 인덱스.
df.pivot_table(values="sales", index=["region", "month"], columns="product") — 지역+월별 행, 상품별 열.
멀티 인덱스로 더 풍부한 표를 만들 수 있습니다.
추가 옵션.
fill_value=0 — 빈 셀을 0으로.
margins=True — 합계 행·열 추가("All" 라벨).
데이터 분석 보고서를 만들 때 매우 유용한 옵션들입니다.
pivot_table은 사실상 groupby + unstack의 단축 형태이며, 보고서·시각화 직전 데이터 정리의 표준 도구입니다.
한 줄 요약
pivot_table은 엑셀의 피벗 테이블처럼 데이터를 행·열·셀로 재구성합니다.
values·index·columns·aggfunc·fill_value·margins 옵션으로 풍부한 표를 한 줄에 만들 수 있습니다.
더 알아볼 것
- pivot vs pivot_table 차이
- stack·unstack — 행·열 변환
- melt — pivot의 반대 (wide → long)