logo

파이썬 | 판다스.멜트()

테이블의 데이터를 더 쉽게 분석하기 위해 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>