Pandas GroupBy erklärt: Ein umfassender Leitfaden für die Datenanalyse mit Python
03.09.2025
Einführung in Pandas GroupBy
Pandas ist eine der beliebtesten Bibliotheken für die Datenanalyse in Python. Eine der mächtigsten Funktionen dieser Bibliothek ist die GroupBy-Methode, die es ermöglicht, Daten zu gruppieren und aggregierte Statistiken zu berechnen. Diese Methode ist besonders nützlich, wenn man grosse Datenmengen analysiert und wertvolle Einblicke gewinnen möchte.
Was ist GroupBy?
Das Konzept von GroupBy basiert auf dem "Split-Apply-Combine"-Prinzip. Zuerst werden die Daten in Gruppen aufgeteilt (Split), dann werden Funktionen auf jede Gruppe angewendet (Apply) und schliesslich werden die Ergebnisse kombiniert (Combine). Dies ermöglicht es, komplexe Datenanalysen mit wenigen Zeilen Code durchzuführen.
Wie funktioniert GroupBy?
Um GroupBy in Pandas zu verwenden, benötigt man zunächst ein DataFrame. Anschliessend wählt man eine oder mehrere Spalten aus, um die Daten zu gruppieren. Danach kann man Aggregationsfunktionen anwenden, um interessante Statistiken zu berechnen. Diese Funktionen können von der Berechnung des Durchschnitts und der Summe bis hin zur Anwendung benutzerdefinierter Funktionen reichen.
Ein einfaches Beispiel
Angenommen, man hat ein DataFrame namens df
, das Informationen über Verkäufe enthält, mit den Spalten 'Produkt'
, 'Verkäufer'
und 'Umsatz'
. Um den Gesamtumsatz pro Produkt zu berechnen, kann man folgenden Code verwenden:
import pandas as pd
# Beispiel DataFrame
data = {'Produkt': ['A', 'B', 'A', 'B', 'C'],
'Verkäufer': ['Tom', 'Anna', 'Tom', 'Anna', 'Tom'],
'Umsatz': [100, 150, 200, 250, 300]}
df = pd.DataFrame(data)
# GroupBy-Anwendung
umsatz_pro_produkt = df.groupby('Produkt')['Umsatz'].sum()
print(umsatz_pro_produkt)
Erweiterte Funktionen von GroupBy
GroupBy kann mehr als nur Summen berechnen. Man kann auch Funktionen wie mean()
, min()
, max()
, count()
und viele andere verwenden. Zudem besteht die Möglichkeit, mehrere Aggregationsfunktionen gleichzeitig anzuwenden, um umfassendere Analysen zu ermöglichen.
Multi-Level GroupBy
Für komplexere Datenstrukturen bietet Pandas die Möglichkeit, Daten auf mehreren Ebenen zu gruppieren. Dies ist besonders nützlich, wenn man Daten nach mehr als einem Kriterium aufteilen möchte. Der folgende Code zeigt, wie man die Daten sowohl nach 'Produkt'
als auch nach 'Verkäufer'
gruppieren kann:
umsatz_pro_produkt_und_verkaeufer = df.groupby(['Produkt', 'Verkäufer'])['Umsatz'].sum()
print(umsatz_pro_produkt_und_verkaeufer)
Fazit
Die GroupBy-Funktion von Pandas ist ein unverzichtbares Werkzeug für die Datenanalyse in Python. Mit ihrer Hilfe kann man Daten effizient gruppieren und analysieren, um wertvolle Erkenntnisse zu gewinnen. Ob einfache Aggregationen oder komplexe Mehrfachgruppierungen – Pandas GroupBy bietet die Flexibilität und Leistungsfähigkeit, die für anspruchsvolle Datenanalysen erforderlich sind.