Maison > développement back-end > Tutoriel Python > Comment puis-je appliquer plusieurs fonctions d'agrégation à la même colonne à l'aide de pandas GroupBy ?

Comment puis-je appliquer plusieurs fonctions d'agrégation à la même colonne à l'aide de pandas GroupBy ?

Patricia Arquette
Libérer: 2024-12-08 11:42:12
original
471 Les gens l'ont consulté

How Can I Apply Multiple Aggregation Functions to the Same Column Using pandas GroupBy?

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})
Copier après la connexion

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]})
Copier après la connexion

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}})
Copier après la connexion

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))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal