"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Pandas DataFrame을 효과적으로 피벗하려면 어떻게 해야 합니까?

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

2024년 12월 21일에 게시됨
검색:695

How Can I Effectively Pivot a Pandas DataFrame?

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

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

기본 구문:

df.pivot(index=, columns=, values=)

예:

  • 싱글에 피벗 열:
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를 사용하여 행 및 열 축을 설정한 다음 스택을 해제하여 피벗합니다.
  • 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')
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3