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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *