Unstack() 함수
DataFrame이나 Series의 MultiIndex 레벨을 피벗하여 행 인덱스의 하나 이상의 레벨을 열 레이블로 변환
- 기능
- 레벨 피벗: unstack()의 주요 기능은 인덱스의 지정된 레벨을 열로 피벗하는 것입니다. 기본적으로 가장 안쪽 레벨(-1)을 피벗하지만, level 매개변수를 사용하여 원하는 레벨을 지정할 수 있습니다.
- 결측값 처리: 언스택 과정에서 모든 인덱스 레벨 조합이 존재하지 않을 경우 결측값(NaN)이 발생할 수 있습니다. fill_value 매개변수를 사용하여 이러한 NaN 값을 특정 값으로 대체할 수 있습니다.
- 정렬: sort 매개변수는 기본값이 True로, 결과 MultiIndex 열에서 레벨을 정렬할지 여부를 결정합니다.
문법
DataFrame.unstack(level=-1, fill_value=None, sort=True)
기본 사용법
import pandas as pd
# MultiIndex DataFrame 생성
index = pd.MultiIndex.from_tuples([('A', 'x'), ('A', 'y'), ('B', 'x'), ('B', 'y')])
df = pd.DataFrame({'value': [1, 2, 3, 4]}, index=index)
# 마지막 레벨 언스택
unstacked_df = df.unstack()
print(unstacked_df)
레벨 지정
# 첫 번째 레벨 언스택
unstacked_df_level0 = df.unstack(level=0)
print(unstacked_df_level0)
응용
unstack() 함수는 'groupby' 혹은 피벗테이블과 같은 작업의 결과로 생성된 스택 형식의 데이터를 보다 분석 및 시각화하기 쉬운 표 형식으로 변환해야 할 때 유용
'[업무 지식] > Python' 카테고리의 다른 글
[모든 값 출력] (0) | 2024.12.01 |
---|---|
[시계열분석] polyfit, propher (0) | 2024.11.26 |
[범주형 인코딩] LabelEncoder, OnehotEncording (0) | 2024.11.23 |
[Scaler] StandardScaler, MinMaxScaler (0) | 2024.11.22 |
[2차원 배열 저장] for문 (0) | 2024.11.21 |