Regrouper les données par une colonne (groupby('colonne'))
La fonction groupby(‘colonne’) permet de regrouper les données d’un DataFrame en fonction des valeurs d’une colonne spécifique. Cela permet ensuite d’appliquer des opérations d’agrégation, de transformation ou de filtrage sur chaque groupe de manière indépendante. Elle est couramment utilisée pour effectuer des résumés statistiques ou des calculs par catégories.
Fonctions :
-
groupby('colonne')
La méthode groupby() permet de regrouper les données d'un DataFrame en fonction d'une ou plusieurs colonnes. Cela permet d'effectuer des opérations d'agrégation sur chaque groupe, comme le calcul de la somme, de la moyenne, ou d'autres statistiques. Cette fonction est très utile pour effectuer des analyses statistiques sur des sous-ensembles de données.
Importation :
import pandas as pd
Attributs :
Paramètre Description by
Colonne ou liste de colonnes sur lesquelles effectuer le regroupement. axis
Spécifie l'axe sur lequel effectuer l'agrégation. Par défaut, c'est l'axe des lignes ( 0
).level
Permet de spécifier un niveau d'index (utile pour les DataFrames avec un index multi-niveau). sort
Booléen pour indiquer si les résultats doivent être triés ou non (par défaut, True
).as_index
Booléen qui permet de contrôler si les colonnes de regroupement doivent être utilisées comme index (par défaut, True
).Exemple de code :
import pandas as pd # Exemple de DataFrame data = { 'nom': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'], 'ville': ['Paris', 'Lyon', 'Paris', 'Lyon', 'Paris'], 'âge': [24, 30, 35, 30, 24], 'score': [88, 92, 75, 85, 95] } df = pd.DataFrame(data) # Regrouper les données par 'ville' et calculer la moyenne de 'âge' et 'score' grouped = df.groupby('ville').mean() print("Données regroupées par ville avec moyenne de 'âge' et 'score' :") print(grouped)
Explication du code :
- DataFrame : Un DataFrame est créé avec les colonnes
nom
,ville
,âge
, etscore
. Le DataFrame contient des informations sur des personnes, leur ville, leur âge et leur score. - Regroupement par
ville
: La méthodegroupby('ville')
regroupe les données en fonction de la colonneville
. Ensuite, l'agrégation de la moyenne des valeurs des autres colonnes (âge
etscore
) est effectuée avecmean()
. - Résultat : Le résultat montre la moyenne des
âge
etscore
pour chaque ville (Paris et Lyon dans cet exemple).
Remarque :
- Opérations d'agrégation : Après le regroupement, vous pouvez appliquer différentes fonctions d'agrégation comme
sum()
,count()
,max()
,min()
, ou encoreagg()
pour appliquer plusieurs agrégations à la fois. - Indexation avec
as_index
: Par défaut,groupby()
utilise la colonne de regroupement comme index. Si vous ne voulez pas cela, vous pouvez utiliseras_index=False
pour garder la colonne de regroupement comme une colonne normale dans le DataFrame résultant.
- DataFrame : Un DataFrame est créé avec les colonnes