python/pandas

stack, unstack 함수 이해하기

jwjwvison 2021. 3. 30. 23:42
import numpy as np
import pandas as pd

df = pd.DataFrame({
    '지역': ['서울', '서울', '서울', '경기', '경기', '부산', '서울', '서울', '부산', '경기', '경기', '경기'],
    '요일': ['월요일', '화요일', '수요일', '월요일', '화요일', '월요일', '목요일', '금요일', '화요일', '수요일', '목요일', '금요일'],
    '강수량': [100, 80, 1000, 200, 200, 100, 50, 100, 200, 100, 50, 100],
    '강수확률': [80, 70, 90, 10, 20, 30, 50, 90, 20, 80, 50, 10]
                  })

df

 

   stack & unstack

  • stack: 컬럼 레벨에서 인덱스 레벨로 dataframe 변경
    • 즉, 데이터를 쌓아올리는 개념으로 이해하면 쉬움

 

  • unstack: 인덱스 레벨에서 컬럼 레벨로 dataframe 변경
    • stack의 반대 operation

  둘은 역의 관계에 있음