Pandas: groupby에서 막대 그래프를 만드는 방법


다음 구문을 사용하여 Pandas의 GroupBy 함수에서 막대 그래프를 만들 수 있습니다.

 #calculate sum of values by group
df_groups = df. groupby ([' group_var '])[' values_var ']. sum ()

#create bar plot by group
df_groups. plot (kind=' bar ')

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

예: Pandas의 GroupBy에서 막대 그래프 생성

서로 다른 팀의 농구 선수들이 득점한 점수를 보여주는 다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A',
                            'B', 'B', 'B', 'B', 'B',
                            'C', 'C', 'C', 'C', 'C'],
                   ' points ': [12, 29, 34, 14, 10, 11, 7, 36,
                              34, 22, 41, 40, 45, 36, 38]})

#view first five rows of DataFrame
df. head ()

	team points
0 to 12
1 to 29
2 to 34
3 to 14
4 to 10

다음 구문을 사용하여 각 팀이 득점한 점수의 합을 계산하고 막대 차트를 만들어 각 팀의 합을 시각화할 수 있습니다.

 import matplotlib. pyplot as plt

#calculate sum of points for each team
df. groupby (' team ')[' points ']. sum ()

#create bar plot by group
df_groups. plot (kind=' bar ')

x축은 각 팀의 이름을 나타내고, y축은 각 팀이 득점한 점수의 합을 나타냅니다.

다음 코드를 사용하여 플롯을 좀 더 좋게 만들 수도 있습니다.

 import matplotlib. pyplot as plt

#calculate sum of points for each team
df_groups = df. groupby ([' team '])[' points ']. sum ()

#create bar plot with custom aesthetics
df_groups. plot (kind=' bar ', title=' Total Points by Team ',
               ylabel=' Total Points ' , xlabel=' Team ', figsize=( 10,6 ) )

#rotate x-axis ticks vertically
plt. xticks (rotation= 0 )

막대 플롯당 팬더 그룹

참고 : 여기에서 GroupBy 기능에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

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

Pandas: 그룹별로 고유한 값을 계산하는 방법
Pandas: 그룹별로 모드를 계산하는 방법
Pandas: 그룹별 상관관계를 계산하는 방법

의견을 추가하다

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