Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Pandas mehrere Aggregationen auf dieselbe Spalte anwenden?

Wie kann ich in Pandas mehrere Aggregationen auf dieselbe Spalte anwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-23 03:07:26184Durchsuche

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

Anwenden mehrerer Aggregationen auf dieselbe Spalte in Pandas

In Pandas bietet GroupBy.agg() eine bequeme Möglichkeit, mehrere Funktionen auszuführen gruppierte Daten. Das Anwenden verschiedener Funktionen auf dieselbe Spalte mit agg() kann jedoch scheinbar eine Herausforderung sein.

Traditionell besteht der syntaktisch falsche, aber gewünschte Ansatz darin, doppelte Schlüssel an das Wörterbuchargument von agg() zu übergeben, was nicht der Fall ist in Python erlaubt.

Um dieses Problem zu beheben, bietet pandas mehrere Optionen an:

Option 1: Liste von Tupel

Ab dem 20.06.2022 besteht die bevorzugte Methode darin, agg() eine Liste von Tupeln [(Spalte, Funktion)] bereitzustellen, wobei jedes Tupel eine auszuführende Aggregation darstellt die angegebene Spalte.

df.groupby('dummy').agg(
    Mean=('returns', np.mean),
    Sum=('returns', np.sum))

Option 2: Verschachtelt Wörterbuch

Ein anderer Ansatz ist die Verwendung eines verschachtelten Wörterbuchs, bei dem der äußere Schlüssel die Spalte und die inneren Werte die anzuwendenden Funktionen sind.

df.groupby('dummy').agg({'returns':
                              {'Mean': np.mean, 'Sum': np.sum}})

Option 3: Liste der Funktionen

Für historische Versionen von Pandas besteht eine alternative Option darin, die Funktionen als Liste innerhalb des Wörterbucharguments von zu übergeben agg().

df.groupby('dummy').agg({'returns': [np.mean, np.sum]})

Durch die Verwendung dieser Optionen können Sie bequem mehrere Aggregationen für dieselbe Spalte durchführen, ohne dass Hilfsfunktionen erforderlich sind oder agg() mehrmals explizit aufgerufen werden muss.

Das obige ist der detaillierte Inhalt vonWie kann ich in Pandas mehrere Aggregationen auf dieselbe Spalte anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn