피벗과 Melt
같은 데이터도 구조에 따라 분석 방법이 달라집니다. 와이드(wide) 형식은 열이 많고 행이 적은 구조, 롱(long) 형식은 행이 많고 열이 적은 구조입니다. Pandas는 이 두 형식 간 변환을 위한 도구를 제공합니다.학습 목표
- 와이드 형식과 롱 형식의 차이를 이해한다
- pivot_table로 데이터를 와이드 형식으로 변환할 수 있다
- melt로 와이드 데이터를 롱 형식으로 변환할 수 있다
- stack/unstack으로 인덱스와 열 간 변환을 수행할 수 있다
왜 중요한가
시각화 라이브러리(Seaborn)와 ML 모델은 각각 다른 형식의 데이터를 요구합니다. Seaborn의 대부분의 함수는 롱 형식을, sklearn은 와이드 형식(피처 행렬)을 기대합니다. 데이터 재구조화 능력은 효율적인 분석의 핵심입니다.pivot_table
크로스탭
melt — 와이드를 롱으로
stack과 unstack
| 연산 | 방향 | 용도 |
|---|---|---|
pivot_table() | 롱 → 와이드 | 집계 + 재구조화 |
melt() | 와이드 → 롱 | 시각화 준비 |
stack() | 열 → 행 인덱스 | 멀티인덱스 생성 |
unstack() | 행 인덱스 → 열 | 피벗과 유사 |
AI/ML에서의 활용
- 시각화 준비: Seaborn은 롱 형식을 선호하므로 melt로 변환합니다
- 피처 행렬: sklearn은 와이드 형식(샘플 x 피처)을 요구합니다
- 시계열 피벗: 시간을 열로 피벗하여 각 시점의 값을 피처로 사용합니다
- 교차 분석: crosstab으로 범주형 변수 간 관계를 파악합니다
pivot과 pivot_table의 차이는 무엇인가요?
pivot과 pivot_table의 차이는 무엇인가요?
pivot()은 중복 값이 없을 때 단순 재구조화에 사용하고, pivot_table()은 중복 값이 있을 때 집계 함수(sum, mean 등)를 적용합니다. 실무에서는 pivot_table()을 더 많이 사용합니다.melt의 반대 연산은 무엇인가요?
melt의 반대 연산은 무엇인가요?
melt()의 역연산은 pivot() 또는 pivot_table()입니다. melt로 롱 형식으로 변환한 데이터를 다시 와이드 형식으로 되돌릴 수 있습니다.체크리스트
- 와이드 형식과 롱 형식의 차이를 설명할 수 있다
- pivot_table로 데이터를 집계하며 재구조화할 수 있다
- melt로 와이드 데이터를 롱 형식으로 변환할 수 있다
- crosstab으로 교차표를 생성할 수 있다
- stack/unstack의 동작을 이해한다

