Pandas : comment utiliser décrire() par groupe
Vous pouvez utiliser la fonction décrire() pour générer des statistiques descriptives pour les variables dans un DataFrame pandas.
Vous pouvez utiliser la syntaxe de base suivante pour utiliser la fonction décrire() avec la fonction groupby() dans les pandas :
df.groupby('group_var')['values_var'].describe()
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : utilisation describe() par Group dans Pandas
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les joueurs de basket-ball de deux équipes différentes :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'points': [8, 12, 14, 14, 15, 22, 27, 24],
'assists':[2, 2, 3, 5, 7, 6, 8, 12]})
#view DataFrame
print(df)
team points assists
0 A 8 2
1 A 12 2
2 A 14 3
3 A 14 5
4 B 15 7
5 B 22 6
6 B 27 8
7 B 24 12
Nous pouvons utiliser la fonction décrire() avec la fonction groupby() pour résumer les valeurs dans la colonne des points pour chaque équipe :
#summarize points by team
df.groupby('team')['points'].describe()
count mean std min 25% 50% 75% max
team
A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0
À partir du résultat, nous pouvons voir les valeurs suivantes pour la variable de points pour chaque équipe :
- compter (nombre d’observations)
- moyenne (valeur moyenne des points)
- std (écart type des valeurs de points)
- min (valeur minimale des points)
- 25 % (25e centile des points)
- 50 % (50e centile (c’est-à-dire médiane) des points)
- 75 % (75e percentile des points)
- max (valeur maximale de points)
Si vous souhaitez que les résultats soient affichés au format DataFrame, vous pouvez utiliser l’argument reset_index() :
#summarize points by team df.groupby('team')['points'].describe().reset_index() team count mean std min 25% 50% 75% max 0 A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0 1 B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0
La variable team est désormais une colonne dans le DataFrame et les valeurs d’index sont 0 et 1.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : comment calculer la somme cumulée par groupe
Pandas : comment compter les valeurs uniques par groupe
Pandas : comment calculer la corrélation par groupe