Maison > développement back-end > Tutoriel Python > Comment appliquer plusieurs fonctions à plusieurs colonnes Groupby dans Pandas ?

Comment appliquer plusieurs fonctions à plusieurs colonnes Groupby dans Pandas ?

Patricia Arquette
Libérer: 2024-12-30 05:28:09
original
401 Les gens l'ont consulté

How to Apply Multiple Functions to Multiple Groupby Columns in Pandas?

Appliquer plusieurs fonctions à plusieurs colonnes Groupby

Présentation

L'application de plusieurs fonctions à plusieurs colonnes dans une opération groupby est une tâche courante dans l'analyse des données. Pandas propose plusieurs méthodes pour effectuer cette tâche, notamment en utilisant un dictionnaire de fonctions ou en appliquant des fonctions personnalisées qui renvoient plusieurs séries.

À l'aide d'un dictionnaire de fonctions

Pour un objet groupby série, vous pouvez appliquer plusieurs fonctions utilisant un dictionnaire avec les noms des colonnes de sortie comme clés :

group = pd.groupby("column")
Copier après la connexion
group['column'].agg({'func1': np.mean, 'func2': np.std})
Copier après la connexion

Cependant, cette méthode ne peut pas être utilisée sur un groupby DataFrame object.

Utilisation d'apply

La méthode apply vous permet d'appliquer une fonction personnalisée qui effectue plusieurs calculs sur les données du groupe. La fonction doit renvoyer une série avec les résultats, en utilisant l'index pour étiqueter les nouvelles colonnes.

def func(group_data):
    return pd.Series({
        'func1': group_data['column1'].mean(),
        'func2': group_data['column2'].std(),
    })

group.apply(func)
Copier après la connexion

Utilisation d'une fonction d'agrégation personnalisée

Vous pouvez également définir une fonction d'agrégation personnalisée qui tire parti du DataFrame passé à la méthode apply :

def agg_func(group_data):
    return group_data.agg({'column1': np.mean, 'column2': np.std})

group.agg(agg_func)
Copier après la connexion

Gestion des dépendances

Pour fonctions qui dépendent d’autres colonnes de l’objet groupby, vous pouvez utiliser la méthode ix pour accéder à ces colonnes. Cependant, notez que cette méthode est obsolète et doit être remplacée par loc:

def func(group_data):
    return group_data.mean().ix['column1']
Copier après la connexion

Conclusion

L'exécution d'agrégations complexes sur des objets pandas groupby peut être réalisée en utilisant diverses méthodes en fonction de la complexité. et les dépendances des fonctions appliquées. En tirant parti de la méthode apply ou en créant des fonctions d'agrégation personnalisées, vous pouvez effectuer efficacement ces opérations et combiner les résultats dans un seul DataFrame.

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!

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