류딩이 2025. 5. 29. 10:57

melt()

: 여러 개의 열(columns)으로 나뉜 데이터를 하나의 열로 세로로 녹여(long)하게 만드는 함수

 

예) 원본데이터 (wide 형식)

import pandas as pd

df = pd.DataFrame({
    'GroupA': [85, 92, 78],
    'GroupB': [79, 69, 84],
    'GroupC': [75, 68, 74]
})
print(df)

GroupA	GroupB	GroupC
85	79	75
92	69	68
78	84	74


#============================================================
# melt 사용
df_long = df.melt(value_vars=['GroupA', 'GroupB', 'GroupC'],
                  var_name='Group',
                  value_name='Score')
print(df_long)


Group	Score
GroupA	85
GroupA	92
GroupA	78
GroupB	79
GroupB	69
GroupB	84
GroupC	75
GroupC	68
GroupC	74

 

=> 열 이름이 값으로 바뀌고, 그에 해당한 값은 세로로 정렬

 

id_vars :  지정한 컬럼은 그대로 유지 (녹이지 않음)

value_vars :  컬럼을 세로로 녹임

var_name : 새로운 변수 열의 이름 (value_vars에서 녹인 컬럼들의 새로운 열 이름)

value_name : 값들이 들어갈 열의 이름