반갑습니다. 꽁냥이입니다. 이번 포스팅에서는 Pandas에서 데이터 재구조화할 때 사용되는 melt 메서드 사용법을 알아보겠습니다.
[Pandas] 31. 데이터 재구조화(Reshape)하기 (feat. pivot, pivot_table)
[Pandas] 32. 데이터 재구조화(Reshape)하기 (feat. stack, unstack)
[Pandas] 33. 데이터 재구조화(Reshape)하기 (feat. wide_to_long)
[Pandas] 34. 데이터 재구조화(Reshape)하기 (feat. crosstab)
melt를 이용한 데이터 Reshape(재구조화)
melt는 필수적으로 id_vars 인자를 받게 되어 있습니다. 이 인자에는 데이터프레임 칼럼 이름이 들어가는데요. melt는 id_vars를 제외한 나머지 칼럼들을 variable이라는 하나의 칼럼에 위에서부터 아래로 넣어줍니다. 그리고 id_vars와 variable 칼럼에 대응하는 값을 value 칼럼에 넣어주게 됩니다. 아래 그림은 melt 적용 전 후 데이터프레임 모습입니다.
이때 기존 데이터 행 개수(4개) 변화를 보면 id_vars를 제외한 칼럼 개수(2)의 배수(4*2)로 증가한 것을 알 수 있습니다.
이제 개념을 알았으니 코드를 통해 melt 사용법을 직접 체험해봅시다~
이번 포스팅에서 사용할 데이터를 만들어줍니다.
import pandas as pd
data = {
'STUDNET_ID':['S_1', 'S_1', 'S_2', 'S_2'],
'TEACHER_ID':['T_1', 'T_2', 'T_1', 'T_2'],
'CLASS_ROOM':[101, 102, 201, 203],
'TIME':[1, 2, 3, 4]
}
df = pd.DataFrame(data)
df
이제 melt를 통해 데이터를 재구조화 해봅시다. melt는 첫 번째 인자로 재구조화하려는 데이터프레임, id_vars 인자를 받습니다.
pd.melt(df, id_vars=['STUDNET_ID', 'TEACHER_ID'])
이때 var_name과 value_name 인자를 통해 variable과 value 칼럼 이름을 변경할 수 있습니다.
pd.melt(df, id_vars=['STUDNET_ID', 'TEACHER_ID'], var_name='COL_NAME', value_name='VALUE')
꽁냥이는 데이터 재구조화를 많이 이용하지는 않습니다만 알아두면 코드 몇 줄이면 데이터를 재구조화할 수 있어서 너무 편합니다.
부디 이번 포스팅이 많은 분들께 도움이 되시길 바라며 이상 포스팅 마치겠습니다. 지금까지 꽁냥이의 글 읽어주셔서 감사합니다.
'데이터 분석 > 데이터 전처리' 카테고리의 다른 글
[Pandas] 32. 데이터 재구조화(Reshape)하기 (feat. stack, unstack) (2) | 2022.11.19 |
---|---|
[Pandas] 31. 데이터 재구조화(Reshape)하기 (feat. pivot, pivot_table) (0) | 2022.11.19 |
[Pandas] 29. 데이터 프레임을 칼럼 폭 조절, 첫 행 고정, 필터 추가하여 엑셀 저장하기 (feat. ExcelWriter) (0) | 2022.11.16 |
[Pandas] 28. 데이터 필터링 하기 (feat. filter) (2) | 2022.11.15 |
[Pandas Tip] 엑셀(Excel) 행과 열 고정하여 저장하기 (feat freeze_panes) (2) | 2022.09.29 |
댓글