Pandas : Comment créer un tracé à barres à partir de GroupBy
Vous pouvez utiliser la syntaxe suivante pour créer un tracé à barres à partir d’une fonction GroupBy dans pandas :
#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')
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : créer un tracé à barres à partir de GroupBy dans Pandas
Supposons que nous ayons le DataFrame pandas suivant qui montre les points marqués par les basketteurs de différentes équipes :
import pandas as pd
#create DataFrame
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 A 12
1 A 29
2 A 34
3 A 14
4 A 10
Nous pouvons utiliser la syntaxe suivante pour calculer la somme des points marqués par chaque équipe et créer un graphique à barres pour visualiser la somme de chaque équipe :
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')
L’axe des x montre le nom de chaque équipe et l’axe des y montre la somme des points marqués par chaque équipe.
Nous pouvons également utiliser le code suivant pour rendre l’intrigue un peu meilleure :
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)
Remarque : Vous pouvez trouver la documentation complète de la fonction GroupBy ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : comment compter les valeurs uniques par groupe
Pandas : Comment calculer le mode par groupe
Pandas : comment calculer la corrélation par groupe