> 백엔드 개발 > 파이썬 튜토리얼 > Pandas DataFrame을 효과적으로 피벗하려면 어떻게 해야 합니까?

Pandas DataFrame을 효과적으로 피벗하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2024-12-27 15:43:11
원래의
291명이 탐색했습니다.

How Can I Effectively Pivot a Pandas DataFrame?

데이터 프레임을 어떻게 피벗할 수 있나요?

피벗은 범주를 나타내는 열과 값을 나타내는 행이 있는 데이터 프레임을 가져와서 범주가 행에 값이 있고 열에 값이 있으며 인덱스는 원래 행 값으로 설정됩니다.

기본 구문:

df.pivot(index=<row_labels>, columns=<col_labels>, values=<value_cols>)
로그인 후 복사

예:

  • 단일 열 기준 피벗:
df.pivot(index='row', columns='col', values='val')
로그인 후 복사
  • 여러 피벗 열:
df.pivot(index=['row', 'item'], columns='col', values='val')
로그인 후 복사
  • 여러 값에 대한 피벗:
df.pivot(index='row', columns='col', values=['val0', 'val1'])
로그인 후 복사
  • 사용자 정의 집계 함수를 사용한 피벗:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
로그인 후 복사
  • 중복처리 키:

기본적으로 행 또는 열 레이블에 중복된 키가 있으면 오류가 발생합니다. 또는 다음을 사용할 수 있습니다.

df.pivot_table(index='row', columns='col', values='val', fill_value=0)
로그인 후 복사
  • 피벗을 위한 다른 방법:
  • groupby unstack:

    df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
    로그인 후 복사
  • pd.DataFrame .set_index: set_index를 사용하여 행 및 열 축을 설정한 다음 unstack을 사용하여 피봇.
  • pd.crosstab: 교차 분석 또는 피벗 테이블 생성을 위해 특별히 설계되었습니다.

고급 피벗 기술:

  • 교차 분석(빈도) 계산):
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
로그인 후 복사
  • 다중 집계 함수:
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
로그인 후 복사
  • 다중 열로 세분화:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
로그인 후 복사

위 내용은 Pandas DataFrame을 효과적으로 피벗하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿