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!