Agrégation avec plusieurs fonctions sur la même colonne à l'aide de GroupBy
Dans la bibliothèque pandas de Python, la fonction GroupBy.agg() fournit un moyen pratique pour appliquer des fonctions d’agrégation aux données groupées. Cependant, il convient de noter qu'appliquer plusieurs fonctions à la même colonne peut être délicat.
Au départ, il peut sembler intuitif d'utiliser la syntaxe suivante :
df.groupby("dummy").agg({"returns": f1, "returns": f2})
Cependant, cette approche échoue en raison pour dupliquer les clés interdites en Python. Au lieu de cela, pandas propose plusieurs méthodes pour effectuer de telles agrégations :
Méthode 1 : Liste des fonctions
Les fonctions peuvent être transmises sous forme de liste :
df.groupby("dummy").agg({"returns": [np.mean, np.sum]})
Méthode 2 : Dictionnaire des fonctions
Les fonctions peuvent être transmis sous forme de dictionnaire avec des clés représentant le nom de la colonne et des valeurs représentant une liste de fonctions :
df.groupby("dummy").agg({"returns": {"Mean": np.mean, "Sum": np.sum}})
Méthode 3 : mise à jour récente (au 20/06/2022)
Dans les versions récentes de pandas, la syntaxe suivante est préférée :
df.groupby('dummy').agg( Mean=('returns', np.mean), Sum=('returns', np.sum))
Cette syntaxe fonctionne non seulement de manière transparente, mais offre également une meilleure clarté et flexibilité dans la spécification des fonctions d'agrégation et des noms de colonnes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!