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: 피벗 테이블에서 열 이름을 변경하는 방법