Comment calculer la moyenne par groupe chez les pandas (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour calculer la valeur moyenne par groupe chez les pandas :
Méthode 1 : calculer la moyenne d’une colonne regroupée par une colonne
df.groupby(['group_col'])['value_col'].mean()
Méthode 2 : calculer la moyenne de plusieurs colonnes regroupées par une seule colonne
df.groupby(['group_col'])['value_col1', 'value_col2'].mean()
Méthode 3 : calculer la moyenne d’une colonne regroupée par plusieurs colonnes
df.groupby(['group_col1', 'group_col2'])['value_col'].mean()
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], 'position': ['G', 'F', 'F', 'G', 'F', 'F', 'G', 'G'], 'points': [30, 22, 19, 14, 14, 11, 20, 28], 'assists': [4, 3, 7, 7, 12, 15, 8, 4]}) #view DataFrame print(df) team position points assists 0 A G 30 4 1 A F 22 3 2 A F 19 7 3 A G 14 7 4 B F 14 12 5 B F 11 15 6 B G 20 8 7 B G 28 4
Exemple 1 : calculer la moyenne d’une colonne regroupée par une colonne
Le code suivant montre comment calculer la valeur moyenne de la colonne de points , regroupée par colonne d’équipe :
#calculate mean of points grouped by team
df.groupby('team')['points'].mean()
team
A 21.25
B 18.25
Name: points, dtype: float64
À partir du résultat, nous pouvons voir :
- La valeur moyenne des points de l’équipe A est de 21,25 .
- La valeur moyenne des points de l’équipe B est de 18,25 .
Exemple 2 : calculer la moyenne de plusieurs colonnes regroupées par une seule colonne
Le code suivant montre comment calculer la valeur moyenne de la colonne des points et la valeur moyenne de la colonne des passes décisives , regroupées par la colonne de l’ équipe :
#calculate mean of points and mean of assists grouped by team
df.groupby('team')[['points', 'assists']].mean()
points assists
team
A 21.25 5.25
B 18.25 9.75
La sortie affiche la valeur moyenne des points et la valeur moyenne des passes décisives pour chaque équipe.
Exemple 3 : calculer la moyenne d’une colonne regroupée par plusieurs colonnes
Le code suivant montre comment calculer la valeur moyenne de la colonne de points , regroupée par colonnes d’ équipe et de position :
#calculate mean of points, grouped by team and position
df.groupby(['team', 'position'])['points'].mean()
team position
A F 20.5
G 22.0
B F 12.5
G 24.0
Name: points, dtype: float64
À partir du résultat, nous pouvons voir :
- La valeur moyenne des points des joueurs de l’équipe A et de la position F est de 20,5 .
- La valeur moyenne des points pour les joueurs de l’équipe A et de la position G est de 22 .
- La valeur moyenne des points des joueurs de l’équipe B et de la position F est de 12,5 .
- La valeur moyenne des points pour les joueurs de l’équipe B et de la position G est de 24 .
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :
Comment trouver la valeur maximale par groupe chez Pandas
Comment trouver la somme par groupe chez les pandas
Comment calculer les quantiles par groupe dans Pandas