Pandas : comment utiliser Groupby avec plusieurs agrégations



Vous pouvez utiliser la syntaxe de base suivante pour utiliser un groupby avec plusieurs agrégations dans les pandas :

df.groupby('team').agg(
    mean_points=('points', np.mean),
    sum_points=('points', np.sum),
    std_points=('points', np.std))

Cette formule particulière regroupe les lignes du DataFrame par la variable appelée team puis calcule plusieurs statistiques récapitulatives pour la variable appelée points .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : utilisation de Groupby avec plusieurs agrégations dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat'],
                   'points': [18, 22, 19, 14, 14, 11],
                   'assists': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print(df)

   team  points  assists
0  Mavs      18        5
1  Mavs      22        7
2  Mavs      19        7
3  Heat      14        9
4  Heat      14       12
5  Heat      11        9

Nous pouvons utiliser la syntaxe suivante pour regrouper les lignes du DataFrame par équipe , puis calculer la moyenne, la somme et l’écart type des points pour chaque équipe :

import numpy as np

#group by team and calculate mean, sum, and standard deviation of points
df.groupby('team').agg(
    mean_points=('points', np.mean),
    sum_points=('points', np.sum),
    std_points=('points', np.std))

      mean_points	sum_points	std_points
team			
Heat	13.000000	        39	  1.732051
Mavs	19.666667	        59	  2.081666

Le résultat affiche la moyenne, la somme et l’écart type de la variable de points pour chaque équipe .

Vous pouvez utiliser une syntaxe similaire pour effectuer un groupby et calculer autant d’agrégations que vous le souhaitez.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes chez les pandas :

Comment compter les valeurs uniques à l’aide de Pandas GroupBy
Comment appliquer une fonction à Pandas Groupby
Comment créer un tracé à barres à partir de Pandas GroupBy

Ajouter un commentaire

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