Regrouper par plusieurs colonnes
La méthode groupby() permet également de regrouper les données en fonction de plusieurs colonnes. En passant une liste de colonnes à groupby(), vous pouvez créer des groupes hiérarchiques qui sont définis par la combinaison des valeurs de ces colonnes. Cette approche est utile lorsque vous voulez analyser des sous-groupes plus spécifiques, comme par exemple regrouper des ventes par mois et par région.
Fonctions :
-
groupby(['colonne1', 'colonne2'])
La méthode groupby() permet de regrouper les données par une ou plusieurs colonnes. Lorsque plusieurs colonnes sont spécifiées, chaque combinaison unique de valeurs des colonnes sera considérée comme un groupe distinct. Cela permet de réaliser des agrégations sur des sous-ensembles de données plus précis, par exemple, regrouper les données par ville et par âge.
Importation :
import pandas as pd
Attributs :
Paramètre Description by
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 pour les DataFrames avec un index multi-niveau. 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 par 'ville' et 'âge' et calculer la somme des scores grouped = df.groupby(['ville', 'âge']).sum() print("Données regroupées par 'ville' et 'âge' avec la somme des 'score' :") print(grouped)
Explication du code :
- DataFrame : Le DataFrame contient les colonnes
nom
,ville
,âge
, etscore
, avec des informations sur des personnes et leur ville, âge et score. - Regroupement par
ville
etâge
: La méthodegroupby(['ville', 'âge'])
regroupe les données en fonction des colonnesville
etâge
. Chaque combinaison unique de ville et d'âge forme un groupe distinct. - Agrégation : Après avoir regroupé les données, la méthode
sum()
est utilisée pour calculer la somme des scores pour chaque groupe. Cela donne la somme des scores pour chaque combinaison de ville et d'âge.
Remarque :
- Agrégation multiple sur plusieurs colonnes : Vous pouvez appliquer plusieurs fonctions d'agrégation après le regroupement, comme la somme, la moyenne, le minimum, etc.
- DataFrame : Le DataFrame contient les colonnes