Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Pandas GroupBy mehrere Aggregationsfunktionen auf dieselbe Spalte anwenden?

Wie kann ich mit Pandas GroupBy mehrere Aggregationsfunktionen auf dieselbe Spalte anwenden?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-08 11:42:12491Durchsuche

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

Aggregation mit mehreren Funktionen in derselben Spalte mithilfe von GroupBy

In der Pandas-Bibliothek von Python bietet die Funktion GroupBy.agg() eine praktische Möglichkeit um Aggregationsfunktionen auf gruppierte Daten anzuwenden. Es ist jedoch zu beachten, dass die Anwendung mehrerer Funktionen auf dieselbe Spalte schwierig sein kann.

Auf den ersten Blick mag es intuitiv erscheinen, die folgende Syntax zu verwenden:

df.groupby("dummy").agg({"returns": f1, "returns": f2})

Dieser Ansatz schlägt jedoch fehl zum Duplizieren von Schlüsseln, die in Python nicht zulässig sind. Stattdessen bietet Pandas mehrere Methoden zur Durchführung solcher Aggregationen an:

Methode 1: Liste von Funktionen

Funktionen können als Liste übergeben werden:

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

Methode 2: Wörterbuch der Funktionen

Funktionen können übergeben werden als Wörterbuch mit Schlüsseln, die den Spaltennamen darstellen, und Werten, die eine Liste von Funktionen darstellen:

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

Methode 3: Aktuelle Aktualisierung (Stand 20.06.2022)

In neueren Versionen von Pandas wird die folgende Syntax bevorzugt:

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

Diese Syntax funktioniert nicht nur nahtlos, sondern auch Bietet mehr Klarheit und Flexibilität bei der Angabe der Aggregationsfunktionen und Spaltennamen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Pandas GroupBy mehrere Aggregationsfunktionen 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