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

Ajouter un commentaire

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