[pandas] melt 사용법

최승언·2025년 1월 7일
0

pandas

목록 보기
3/3
post-thumbnail

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 함수를 사용하면 데이터를 유연하게 변환하여 다양한 분석 작업을 수월하게 수행할 수 있습니다.

profile
작업하다가 막힌부분을 기록하는 곳.

0개의 댓글