Pandas: 백분율을 사용하여 피벗 테이블을 만드는 방법
다음 구문을 사용하여 특정 열에 대한 합계의 백분율을 표시하는 Pandas의 피벗 테이블에 열을 추가할 수 있습니다.
my_table[' % points '] = (my_table[' points ']/my_table[' points ']. sum ())* 100
이 특정 구문은 포인트 열의 총 값의 백분율을 표시하는 my_table 이라는 피벗 테이블에 % 포인트 라는 새 열을 추가합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: 백분율을 사용하여 Pandas 피벗 테이블 만들기
다양한 농구 선수가 득점한 점수를 보여주는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['Guard', 'Guard', 'Forward', 'Forward', 'Guard', 'Guard', 'Forward', 'Forward'], ' points ': [22, 30, 14, 15, 19, 30, 23, 20]}) #view DataFrame print (df) team position points 0 A Guard 22 1A Guard 30 2 A Forward 14 3 A Forward 15 4 B Guard 19 5 B Guard 30 6 B Forward 23 7 B Forward 20
ivot_table() 함수를 사용하여 팀과 포지션별 포인트 합계를 보여주는 피벗 테이블을 만들 수 있습니다.
#create pivot table to calculate sum of points by team and position
my_table = pd. pivot_table (df, index=[' team ', ' position '], aggfunc=' sum ')
#view pivot table
print (my_table)
points
team position
A Forward 29
Guard 52
B Forward 43
Guard 49
결과에서 우리는 다음을 볼 수 있습니다:
- A팀 공격수들은 총 29 득점을 기록했다.
- A팀 가드들은 총 52 득점을 기록했다.
- B팀 공격수들은 총 43 득점을 기록했다.
- B팀 가드들은 총 49 득점을 기록했다.
그런 다음 다음 구문을 사용하여 각 행의 총점 비율을 표시하는 % 포인트 라는 새 열을 추가할 수 있습니다.
#add column that displays points as a percentage of total points my_table[' % points '] = (my_table[' points ']/my_table[' points ']. sum ())* 100 #view updated pivot table print (my_table) points % points team position A Forward 29 16.763006 Guard 52 30.057803 B Forward 43 24.855491 Guard 49 28.323699
이제 새로운 % 포인트 열에는 포인트 값이 총 포인트의 백분율로 표시됩니다.
또한 round() 함수를 사용하여 백분율 값을 특정 소수 자릿수로 반올림할 수 있습니다.
#add column that displays points as a percentage of total points (rounded) my_table[' % points '] = round ((my_table[' points ']/my_table[' points ']. sum ())* 100 , 2 ) #view updated pivot table print (my_table) points % points team position A Forward 29 16.76 Guard 52 30.06 B Forward 43 24.86 Guard 49 28.32
이제 백분율 값이 소수점 이하 두 자리로 반올림됩니다.
참고 : 여기에서 pandasivot_table() 함수에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas: 피벗 테이블에 필터를 추가하는 방법
Pandas: 열의 값을 기준으로 피벗 테이블을 정렬하는 방법
Pandas: 값의 합계가 포함된 피벗 테이블을 만드는 방법