Regrouper par plusieurs colonnes
Le regroupement par plusieurs colonnes consiste à former des groupes uniques en combinant les valeurs de plusieurs colonnes simultanément. Cette approche permet d’affiner l’analyse en segmentant les données selon plusieurs critères à la fois, offrant ainsi une vision plus détaillée des relations entre différentes variables. Elle est particulièrement utile pour identifier des tendances croisées et effectuer des calculs d’agrégation spécifiques à chaque combinaison de valeurs.
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 :
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
pour simplifier son utilisation dans le code.Exemple de DataFrame
Le dictionnaire
data
contient quatre clés :'nom'
,'ville'
,'âge'
, et'score'
, chacune associée à une liste de valeurs. Ce dictionnaire est utilisé pour créer un DataFramedf
.Regrouper par 'ville' et 'âge' et calculer la somme des scores
La méthode
groupby(['ville', 'âge'])
permet de regrouper les lignes du DataFrame en fonction des valeurs des colonnes'ville'
et'âge'
. Ensuite,sum()
est utilisé pour calculer la somme des valeurs numériques dans chaque groupe, ici pour la colonne'score'
.grouped = df.groupby(['ville', 'âge']).sum()
regroupe donc le DataFrame par'ville'
et'âge'
, puis calcule la somme des scores dans chaque groupe. Le résultat est assigné à la variablegrouped
.Enfin,
print(grouped)
affiche les résultats des regroupements, montrant la somme des scores pour chaque combinaison unique de ville et d'âge.