테이블의 데이터를 더 쉽게 분석하기 위해 Python의 Pandas를 사용하여 데이터를 컴퓨터 친화적인 형식으로 재구성할 수 있습니다. Pandas.melt()는 이를 수행하는 함수 중 하나입니다. Pandas.melt()는 DataFrame을 와이드 형식에서 긴 형식으로 피벗 해제합니다.
이미지가 포함된 마크다운
팬더가 녹아요() 함수는 하나 이상의 열이 식별자 변수인 형식으로 DataFrame을 처리하는 데 유용하며 측정 변수로 간주되는 다른 모든 열은 행 축으로 피벗되지 않아 식별자가 아닌 열인 변수와 값 두 개만 남깁니다.
Python Pandas.melt() 함수 구문
통사론: pandas.melt(프레임, id_vars=없음, value_vars=없음,
var_name=없음, value_name='값', col_level=없음)
매개변수:
- 액자 : 데이터프레임
- id_vars[tuple, list 또는 ndarray, 선택 사항] : 식별자 변수로 사용할 열입니다.
- value_vars[튜플, 목록 또는 ndarray, 선택 사항]: 피벗을 해제할 열입니다. 지정하지 않으면 id_vars로 설정되지 않은 모든 컬럼을 사용한다.
- 변수 이름[스칼라]: '변수' 열에 사용할 이름입니다. None이면 Frame.columns.name 또는 'variable'을 사용합니다.
- 값_이름[스칼라, 기본값 '값']: '값' 열에 사용할 이름입니다.
- col_level[정수 또는 문자열, 선택 사항]: 열이 MultiIndex인 경우 이 수준을 사용하여 녹입니다.
샘플 DataFrame 만들기
여기서는 이 문서에서 사용할 샘플 DataFrame을 만들었습니다.
파이썬3
# importing pandas as pd> import> pandas as pd> # creating a dataframe> df>=> pd.DataFrame({>'Name'>: {>0>:>'John'>,>1>:>'Bob'>,>2>:>'Shiela'>},> >'Course'>: {>0>:>'Masters'>,>1>:>'Graduate'>,>2>:>'Graduate'>},> >'Age'>: {>0>:>27>,>1>:>23>,>2>:>21>}})> df> |
>
>

Melt()는 Pandas 예에서 수행됩니다.
다음은 Pandas Melt() 함수를 다양한 방식으로 사용하는 방법에 대한 예입니다. 팬더 :
예 1: Pandas Melt() 예
이 예에서는pd.melt>함수는 'Name'을 식별자 변수로 유지하면서 'Course' 열의 피벗을 해제하는 데 사용됩니다. 결과 DataFrame에는 'Name', 'variable'(열 이름 'Course' 포함) 및 'value'('Course' 열의 해당 값 포함)라는 세 개의 열이 있습니다.
파이썬3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
>
산출:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
예 2: Pandas DataFrame의 Melt()에 id_vars 및 value_vars 사용
이 예에서는pd.melt>함수는 'Name'을 식별자 변수로 사용하면서 'Course' 및 'Age' 열의 피벗을 해제하는 데 사용됩니다.
파이썬3
CSS로 텍스트에 밑줄 긋기
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
산출:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>
예 3: Pandas DataFrame의 Melt()에 var_name 및 value_name 사용
이 예에서는pd.melt>함수는 사용자 정의된 열 이름으로 활용됩니다. '이름'을 식별자로 유지하면서 '과정' 열은 피벗 해제됩니다. 결과 DataFrame에는 'Name', 'ChangedVarname'(녹은 열 이름의 경우 'Course'로 설정됨) 및 'ChangedValname'('Course' 열의 해당 값 포함) 열이 있습니다.
파이썬3
# Names of ‘variable’ and ‘value’ columns can be customized> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>],> >var_name>=>'ChangedVarname'>, value_name>=>'ChangedValname'>)> |
>
>
산출:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
예제 4: Pandas.melt() 함수와 함께ignore_index 사용
이 예에서는pd.melt>'Name'을 식별자 변수로 사용하면서 'Course' 및 'Age' 열의 피벗을 해제하는 함수가 적용됩니다. 원래 인덱스는 무시됩니다.ignore_index=True>매개변수.
파이썬3
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
한 달에 몇 주가 있나요?
>
산출:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>