Regrouper les données par une colonne
Le regroupement des données par une colonne est une opération fondamentale en analyse de données qui consiste à assembler les lignes partageant une même valeur dans une colonne donnée. Cela permet d’agréger les informations, de calculer des statistiques (comme la somme, la moyenne ou le compte) pour chaque groupe, et d’identifier des tendances ou des patterns au sein des sous-ensembles du jeu de données. Cette méthode facilite l’analyse comparative et synthétise l’information de manière structurée.
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 pdAttributs :
Paramètre Description byColonne ou liste de colonnes sur lesquelles effectuer le regroupement. axisSpécifie l'axe sur lequel effectuer l'agrégation. Par défaut, c'est l'axe des lignes ( 0).levelPermet de spécifier un niveau d'index (utile pour les DataFrames avec un index multi-niveau). sortBooléen pour indiquer si les résultats doivent être triés ou non (par défaut, True).as_indexBoolé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('age', 'score') print("Données regroupées par ville avec moyenne de 'âge' et 'score' :") print(grouped)
Explication du code :
import pandas as pdimporte la bibliothèque pandas, renommée ici enpdpour simplifier son utilisation dans le code.Exemple de DataFrame
Le dictionnaire
datacontient 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 les données par 'ville' et calculer la moyenne de 'âge' et 'score'
La méthode
groupby('ville')permet de regrouper les lignes du DataFrame en fonction de la colonne'ville'. Ensuite,mean()calcule la moyenne des valeurs numériques dans chaque groupe, c'est-à-dire la moyenne des colonnes'âge'et'score'pour chaque ville.grouped = df.groupby('ville').mean('age', 'score')essaie de regrouper les données par ville et de calculer la moyenne des colonnes'âge'et'score'. Cependant, il y a une petite erreur dans l'utilisation de la méthodemean(): elle ne prend pas de paramètres supplémentaires comme'age'et'score'. Il faudrait plutôt utiliserdf.groupby('ville')[['âge', 'score']].mean()pour obtenir la moyenne des deux colonnes. Le résultat est assigné à la variablegrouped.Enfin,
print(grouped)affiche les données regroupées par ville, avec la moyenne de l'âge et du score pour chaque ville.