Pandas: 여러 aggfunc를 사용하여 피벗 테이블 만들기


다음 구문을 사용하여 pandas에서 피벗 테이블을 만들고 aggfunc 인수에 여러 값을 제공할 수 있습니다.

 df. pivot_table (index=' col1 ', values=' col2 ', aggfunc=(' sum ', ' mean '))

이 특정 예에서는 col1 별로 그룹화되어 col2 에 있는 값의 합계와 평균을 표시하는 피벗 테이블을 만듭니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: 여러 aggfunc를 사용하여 Pandas 피벗 테이블 만들기

다양한 농구 선수에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B',
                            'B', 'B', 'C', 'C', 'C', 'C'],
                   ' points ': [4, 4, 2, 8, 9, 5, 5, 7, 8, 8, 4, 3],
                   ' assists ': [2, 2, 5, 5, 4, 7, 5, 3, 9, 8, 4, 4]})

#view DataFrame
print (df)

   team points assists
0 to 4 2
1 to 4 2
2 to 2 5
3 to 8 5
4 B 9 4
5 B 5 7
6 B 5 5
7 B 7 3
8 C 8 9
9 C 8 8
10 C 4 4
11 C 3 4

다음 코드를 사용하여 각 이 획득한 점수의 합계와 평균 점수 를 모두 요약하는 피벗 테이블을 만들 수 있습니다.

 #create pivot table to summarize sum and mean of points by team
df. pivot_table (index=' team ', values=' points ', aggfunc=(' sum ', ' mean '))

	mean sum
team		
At 4.50 18
B 6.50 26
C 5.75 23

결과 피벗 테이블에는 각 팀이 획득한 점수의 평균과 합계가 요약되어 있습니다.

예를 들어 다음을 볼 수 있습니다.

  • A 팀 선수들의 평균 포인트 값은 4.50 이고 총 포인트 값은 18 입니다.
  • B 팀 선수들의 평균 점수는 6.50점 , 총 점수는 26점 이었습니다.
  • C 팀 선수들의 평균 포인트는 5.75점 , 총 포인트는 23점 이었습니다.

이 예에서는 합계와 평균을 사용하여 집계했지만 다음과 같은 다른 측정항목으로 집계할 수도 있습니다.

  • 세다
  • 최고
  • 중앙값
  • std(표준편차)

다음 예에서는 각 팀에 대한 이러한 측정항목을 기반으로 포인트 열 값을 집계하는 방법을 보여줍니다.

 #create pivot table to summarize several metrics for points by team
df. pivot_table (index=' team ', values=' points ',
               aggfunc=(' count ', ' min ', ' max ', ' median ', ' std '))

        count max median min std
team					
A 4 8 4.0 2 2.516611
B 4 9 6.0 5 1.914854
C 4 8 6.0 3 2.629956

참고 : 여기에서 pandasivot_table() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 다른 일반적인 Panda 작업을 수행하는 방법을 설명합니다.

Pandas: 열의 값을 기준으로 피벗 테이블을 정렬하는 방법
Pandas: 값의 합계가 포함된 피벗 테이블을 만드는 방법
Pandas: 피벗 테이블에 소계를 추가하는 방법
Pandas: 피벗 테이블에서 열 이름을 변경하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다