Comment calculer l’écart type par groupe chez les pandas
Vous pouvez utiliser les méthodes suivantes pour calculer l’écart type par groupe chez les pandas :
Méthode 1 : calculer l’écart type d’une colonne regroupée par une colonne
df.groupby(['group_col'])['value_col'].std()
Méthode 2 : calculer l’écart type de plusieurs colonnes regroupées par une seule colonne
df.groupby(['group_col'])['value_col1', 'value_col2'].std()
Méthode 3 : calculer l’écart type d’une colonne regroupée par plusieurs colonnes
df.groupby(['group_col1', 'group_col2'])['value_col'].std()
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 l’écart type d’une colonne regroupée par une colonne
Le code suivant montre comment calculer l’écart type de la colonne de points , regroupés par colonne d’équipe :
#calculate standard deviation of points grouped by team
df.groupby('team')['points'].std()
team
A 6.70199
B 7.50000
Name: points, dtype: float64
À partir du résultat, nous pouvons voir :
- L’écart type des points de l’équipe A est de 6,70199 .
- L’écart type des points pour l’équipe B est de 7,5 .
Exemple 2 : calculer l’écart type de plusieurs colonnes regroupées par une seule colonne
Le code suivant montre comment calculer l’écart type de la colonne des points et l’écart type de la colonne des passes décisives , regroupés par la colonne des équipes :
#calculate standard deviation of points and assists grouped by team
df.groupby('team')[['points', 'assists']].std()
points assists
team
A 6.70199 2.061553
B 7.50000 4.787136
Le résultat affiche l’écart type de la colonne des points et de la colonne des passes décisives pour chaque équipe.
Exemple 3 : calculer l’écart type d’une colonne regroupée par plusieurs colonnes
Le code suivant montre comment calculer l’écart type de la colonne de points , regroupés par colonnes d’ équipe et de position :
#calculate standard deviation of points, grouped by team and position
df.groupby(['team', 'position'])['points'].std()
team position
A F 2.121320
G 11.313708
B F 2.121320
G 5.656854
Name: points, dtype: float64
À partir du résultat, nous pouvons voir :
- L’écart type des points des joueurs de l’équipe A et de la position F est de 2,12 .
- L’écart type des points des joueurs de l’équipe A et de la position G est de 11,31 .
- L’écart type des points des joueurs de l’équipe B et de la position F est de 2,12 .
- L’écart type des points des joueurs de l’équipe B et de la position G est de 5,65 .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes chez les pandas :
Comment calculer la moyenne par groupe chez les pandas
Comment calculer la valeur maximale par groupe dans Pandas
Comment calculer la somme par groupe chez Pandas
Comment calculer les quantiles par groupe dans Pandas