Maison > développement back-end > Tutoriel Python > Comment puis-je appliquer plusieurs agrégations à la même colonne dans Pandas ?

Comment puis-je appliquer plusieurs agrégations à la même colonne dans Pandas ?

Mary-Kate Olsen
Libérer: 2024-12-23 03:07:26
original
182 Les gens l'ont consulté

How Can I Apply Multiple Aggregations to the Same Column in Pandas?

Application de plusieurs agrégations à la même colonne dans Pandas

Dans Pandas, GroupBy.agg() fournit un moyen pratique d'exécuter plusieurs fonctions sur données groupées. Cependant, appliquer différentes fonctions à la même colonne à l'aide de agg() peut sembler difficile.

Traditionnellement, l'approche syntaxiquement incorrecte mais souhaitée serait de transmettre des clés en double à l'argument du dictionnaire de agg(), ce qui n'est pas le cas. autorisé en Python.

Pour résoudre ce problème, pandas propose plusieurs options :

Option 1 : Liste des Tuples

Depuis le 20/06/2022, la méthode préférée consiste à fournir une liste de tuples [(colonne, fonction)] à agg(), où chaque tuple représente une agrégation à effectuer sur la colonne spécifiée.

df.groupby('dummy').agg(
    Mean=('returns', np.mean),
    Sum=('returns', np.sum))
Copier après la connexion

Option 2 : Imbriquée Dictionnaire

Une autre approche consiste à utiliser un dictionnaire imbriqué, où la clé externe est la colonne et les valeurs internes sont les fonctions à appliquer.

df.groupby('dummy').agg({'returns':
                              {'Mean': np.mean, 'Sum': np.sum}})
Copier après la connexion

Option 3 : Liste des fonctions

Pour les versions historiques de pandas, une option alternative consiste à transmettre les fonctions sous forme de liste dans l'argument du dictionnaire de agg().

df.groupby('dummy').agg({'returns': [np.mean, np.sum]})
Copier après la connexion

En utilisant ces options, vous pouvez facilement effectuer plusieurs agrégations sur la même colonne sans avoir besoin de fonctions auxiliaires ou d'appeler explicitement agg() plusieurs fois.

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