Heim > Backend-Entwicklung > Python-Tutorial > Wie führe ich mit Pandas GroupBy.agg() mehrere Aggregationen für eine einzelne Spalte durch?

Wie führe ich mit Pandas GroupBy.agg() mehrere Aggregationen für eine einzelne Spalte durch?

Linda Hamilton
Freigeben: 2024-12-10 17:31:10
Original
606 Leute haben es durchsucht

How to Perform Multiple Aggregations on a Single Column Using Pandas GroupBy.agg()?

Mehrere Aggregationen in derselben Spalte mit Pandas GroupBy.agg()

Bei der Arbeit mit Pandas ist es oft notwendig, mehrere Aggregationen in derselben Spalte durchzuführen die gleiche Spalte. Der einfache Ansatz, dieselbe Spalte mehrmals in der agg()-Methode anzugeben, ist zwar intuitiv, aber syntaktisch nicht korrekt. Dies wirft die Frage auf, wie man mithilfe von GroupBy.agg() verschiedene Aggregationsfunktionen effektiv und präzise auf eine einzelne Spalte anwenden kann.

Lösung

Stand: 2022-06- 20, die empfohlene Vorgehensweise für mehrere Aggregationen ist die Verwendung einer Wörterbuchsyntax:

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

In diesem Beispiel ist die Die Spalte „returns“ wird sowohl mit der Mittelwert- als auch mit der Summenfunktion aggregiert. Der resultierende DataFrame enthält zwei neue Spalten, „Mittelwert“ und „Summe“, die die jeweiligen Aggregationen anzeigen.

Historische Notiz

Vor der Einführung des Wörterbuchs Syntax gab es zwei alternative Methoden für mehrere Aggregationen:

  1. Übergabe von Funktionen als Liste:
df.groupby('dummy').agg({'returns': [np.mean, np.sum]})
Nach dem Login kopieren

Dieser Ansatz übergibt die Funktionen als Liste direkt an agg(). Der DataFrame enthält zwei neue Spalten mit den Ergebnissen der Mittelwert- bzw. Summenaggregationen.

  1. Übergabe von Funktionen als verschachteltes Wörterbuch:
df.groupby('dummy').agg({'returns': {'f1': np.mean, 'f2': np.sum}})
Nach dem Login kopieren

Ähnlich wie beim Listenansatz werden Funktionen als Wörterbuch innerhalb eines Wörterbuchs übergeben. Die Schlüssel des inneren Wörterbuchs geben die Funktionsnamen an, während die Werte die Aggregationsfunktionen sind. Der DataFrame verfügt über eine Spalte für jeden angegebenen Funktionsnamen.

Das obige ist der detaillierte Inhalt vonWie führe ich mit Pandas GroupBy.agg() mehrere Aggregationen für eine einzelne Spalte durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage