Appliquer une fonction d’agrégation sur un groupe
La méthode agg() permet d’appliquer des fonctions d’agrégation sur chaque groupe créé par groupby(). Vous pouvez utiliser des fonctions comme mean(), sum(), min(), max(), ou même des fonctions personnalisées pour résumer ou transformer les données au sein de chaque groupe. Cette approche est particulièrement utile lorsque vous souhaitez effectuer plusieurs agrégations à la fois ou appliquer des fonctions différentes à différentes colonnes.
Fonctions :
-
groupby('colonne').agg('fonction')
La méthode agg() permet d'appliquer une ou plusieurs fonctions d'agrégation sur les groupes créés par groupby(). Elle est extrêmement flexible et permet d'appliquer des fonctions comme la moyenne (mean), la somme (sum), le minimum (min), le maximum (max), etc., sur les groupes de données. Vous pouvez également appliquer plusieurs fonctions d'agrégation simultanément.
Importation :
import pandas as pd
Attributs :
Paramètre Description agg()
Applique une ou plusieurs fonctions d'agrégation aux groupes. func
La ou les fonctions à appliquer, telles que 'mean'
,'sum'
,'min'
,'max'
, ou une fonction personnalisée.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) # Appliquer une fonction d'agrégation pour calculer la moyenne et la somme par ville agg_result = df.groupby('ville').agg({'âge': 'mean', 'score': 'sum'}) print("Moyenne de 'âge' et somme de 'score' par ville :") print(agg_result)
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
.Appliquer une fonction d'agrégation pour calculer la moyenne et la somme par ville
La méthode
groupby('ville')
permet de regrouper les lignes du DataFrame en fonction de la colonne'ville'
. Ensuite, la méthodeagg()
est utilisée pour appliquer différentes fonctions d'agrégation sur les colonnes sélectionnées.Dans cet exemple,
agg({'âge': 'mean', 'score': 'sum'})
calcule la moyenne des âges ('âge': 'mean'
) et la somme des scores ('score': 'sum'
) pour chaque groupe de ville. Le résultat est assigné à la variableagg_result
.Enfin,
print(agg_result)
affiche les résultats de l'agrégation, montrant la moyenne de l'âge et la somme du score pour chaque ville.