Maison >développement back-end >Tutoriel Python >Comment appliquer plusieurs fonctions à plusieurs colonnes Groupby dans Pandas ?
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.
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")
group['column'].agg({'func1': np.mean, 'func2': np.std})
Cependant, cette méthode ne peut pas être utilisée sur un groupby DataFrame object.
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)
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)
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']
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!