Pandas : calculer la moyenne & Std d’une colonne dans groupby
Vous pouvez utiliser la syntaxe suivante pour calculer la moyenne et l’écart type d’une colonne après avoir utilisé l’opération groupby() dans pandas :
df.groupby(['team'], as_index=False).agg({'points':['mean','std']})
Cet exemple particulier regroupe les lignes d’un DataFrame pandas par la valeur dans la colonne équipe , puis calcule la moyenne et l’écart type des valeurs dans la colonne points .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Calculer la moyenne et la norme d’une colonne dans Pandas groupby
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les joueurs de basket-ball de différentes équipes :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], 'points': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28], 'assists': [5, 5, 7, 9, 10, 14, 13, 8, 2, 7]}) #view DataFrame print(df) team points assists 0 A 12 5 1 A 15 5 2 A 17 7 3 A 17 9 4 B 19 10 5 B 14 14 6 B 15 13 7 C 20 8 8 C 24 2 9 C 28 7
Nous pouvons utiliser la syntaxe suivante pour calculer la moyenne et l’écart type des valeurs de la colonne des points , regroupées par la colonne de l’ équipe :
#calculate mean and standard deviation of points, grouped by team output = df.groupby(['team'], as_index=False).agg({'points':['mean','std']}) #view results print(output) team points mean std 0 A 15.25 2.362908 1 B 16.00 2.645751 2 C 24.00 4.000000
À partir du résultat, nous pouvons voir :
- La valeur moyenne des points de l’équipe A est de 15,25 .
- L’écart type des points de l’équipe A est de 2,362908 .
Et ainsi de suite.
Nous pouvons également renommer les colonnes afin que le résultat soit plus facile à lire :
#rename columns output.columns = ['team', 'points_mean', 'points_std'] #view updated results print(output) team points_mean points_std 0 A 15.25 2.362908 1 B 16.00 2.645751 2 C 24.00 4.000000
Remarque : Vous pouvez trouver la documentation complète de l’opération pandas groupby() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment effectuer une somme GroupBy dans Pandas
Comment utiliser Groupby et Plot dans Pandas
Comment compter les valeurs uniques à l’aide de GroupBy dans Pandas