pandas.melt
함수는 Pandas 라이브러리에서 데이터프레임의 형식을 변환하는 데 사용됩니다. 주로 "wide" 형식의 데이터를 "long" 형식으로 변환하는 데 유용합니다. 이는 데이터의 열을 행으로 변환하여, 분석과 시각화를 수행하는 데 적합한 형태로 데이터 구조를 바꾸어줄 수 있습니다.
pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None, ignore_index=True)
frame: 변환할 DataFrame입니다.
id_vars: 녹이지 않을 열의 목록입니다. 이 열들은 변환 후에도 식별자로 남아 있게 됩니다.
value_vars: 녹일 열의 목록입니다. 선택하지 않으면 모든 열이 녹입니다.
var_name: 녹인 열의 이름이 들어갈 새로운 변수의 이름을 지정합니다. 기본값은 'variable'입니다.
value_name: 값이 저장될 새로운 열의 이름을 설정합니다. 기본값은 'value'입니다.
col_level: MultiIndex column의 특정 레벨을 사용할 경우에 지정합니다.
ignore_index: True인 경우, 원래의 인덱스를 무시하고 새 인덱스를 생성합니다 (기본값 True).
import pandas as pd
# 예제 데이터프레임 생성
df = pd.DataFrame({
'ID': [1, 2, 3],
'2020': [10, 20, 30],
'2021': [15, 25, 35]
})
# melt 함수 적용
melted_df = pd.melt(df, id_vars=['ID'], var_name='Year', value_name='Value')
print(melted_df)
ID Year Value
0 1 2020 10
1 2 2020 20
2 3 2020 30
3 1 2021 15
4 2 2021 25
5 3 2021 35
여기서 ID
열은 id_vars
로 지정되어 그대로 유지되었고, '2020', '2021' columns을 하나로 녹여 Year
라는 열로 만들었으며, 그 값들은 Value
라는 새로운 열에 저장되었습니다. melt
함수를 사용하면 데이터를 유연하게 변환하여 다양한 분석 작업을 수월하게 수행할 수 있습니다.