0Pricing
Python Academy · Lektion

GroupBy, Aggregation und Pivot-Tabellen

Fassen Sie Daten mit groupby-Operationen und Pivot-Tabellen zusammen.

GroupBy, Aggregation und Pivot-Tabellen ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Grundlagen von groupby

df.groupby("col") teilt den DataFrame anhand der eindeutigen Spaltenwerte in Gruppen auf. Verketten Sie eine Aggregation, um Ergebnisse zu erhalten.

import pandas as pd

df = pd.DataFrame({
    "dept":["HR","IT","HR","IT","HR"],
    "salary":[60,80,65,90,70]
})
print(df.groupby("dept")["salary"].mean())
# HR    65.0
# IT    85.0

Mehrere Aggregationsfunktionen

Verwenden Sie agg(), um mehrere Aggregationsfunktionen gleichzeitig anzuwenden.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR","IT"],"sal":[60,80,65,90]})
result = df.groupby("dept")["sal"].agg(["mean","max","count"])
print(result)

Benannte Aggregationen

Verwenden Sie Schlüsselwortargumente in agg(), um Ausgabespalten explizit zu benennen (Pandas 0.25+).

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR","IT"],"sal":[60,80,65,90]})
result = df.groupby("dept").agg(
    avg_sal=("sal","mean"),
    max_sal=("sal","max"),
    count=("sal","size")
)
print(result)

groupby für mehrere Spalten

Übergeben Sie eine Liste von Spalten, um hierarchische Gruppen zu erstellen.

import pandas as pd

df = pd.DataFrame({
    "year":[2023,2023,2024,2024],
    "dept":["HR","IT","HR","IT"],
    "sal":[60,80,65,90]
})
print(df.groupby(["year","dept"])["sal"].sum())

transform()

transform gibt eine am ursprünglichen Index ausgerichtete Series zurück. Dies ist nützlich, um Gruppenstatistiken wieder zum ursprünglichen DataFrame hinzuzufügen.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR","IT"],"sal":[60,80,65,90]})
df["dept_avg"] = df.groupby("dept")["sal"].transform("mean")
print(df)

filter()

filter(func) behält nur Gruppen bei, für die die Funktion True zurückgibt.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR"],"sal":[60,80,65]})
# Keep only departments with mean salary > 70:
result = df.groupby("dept").filter(lambda g: g["sal"].mean() > 70)
print(result)

pivot_table

pd.pivot_table erstellt eine zusammenfassende Tabelle im Stil einer Tabellenkalkulation mit benutzerdefinierter Aggregation.

import pandas as pd

df = pd.DataFrame({
    "year":[2023,2023,2024,2024],
    "region":["East","West","East","West"],
    "sales":[100,150,120,200]
})
pt = pd.pivot_table(df, values="sales",
                    index="year", columns="region",
                    aggfunc="sum")
print(pt)

crosstab

pd.crosstab berechnet eine Kreuztabelle – nützlich zum Zählen von Kombinationen kategorialer Werte.

import pandas as pd

df = pd.DataFrame({"gender":["M","F","M","F","M"],"result":["pass","pass","fail","fail","pass"]})
print(pd.crosstab(df["gender"], df["result"]))

apply()

apply(func) wendet eine benutzerdefinierte Funktion auf den DataFrame jeder Gruppe (axis=0) oder auf jede Zeile bzw. Spalte (axis=1) an.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR"],"sal":[60,80,65]})

def range_sal(g):
    return g["sal"].max() - g["sal"].min()

print(df.groupby("dept").apply(range_sal))

unstack zum Umformen

Verwenden Sie nach einem mehrstufigen groupby unstack(), um die innerste Indexebene in Spalten umzuwandeln.

import pandas as pd

df = pd.DataFrame({"year":[2023,2023,2024],"dept":["HR","IT","HR"],"sal":[60,80,65]})
result = df.groupby(["year","dept"])["sal"].mean().unstack()
print(result)

Resampling für Zeitreihen

resample("M") gruppiert einen Zeitreihen-DataFrame nach Kalenderzeiträumen und ermöglicht monatliche oder jährliche Aggregationen.

import pandas as pd

idx = pd.date_range("2024-01-01", periods=90, freq="D")
df = pd.DataFrame({"sales": range(90)}, index=idx)
monthly = df.resample("ME").sum()
print(monthly)

Schnelltest

Was gibt groupby().transform("mean") zurück?

Zusammenfassung

groupby teilt Daten zur Aggregation in Gruppen auf. Verwenden Sie agg() für mehrere Funktionen, transform(), um Gruppenstatistiken auf alle zugehörigen Zeilen zu übertragen, filter(), um Gruppen zu entfernen, und pivot_table()/crosstab() für dimensionsübergreifende Zusammenfassungen.

Häufig gestellte Fragen

Ist die Lektion „GroupBy, Aggregation und Pivot-Tabellen“ kostenlos?

Ja — der vollständige Text von „GroupBy, Aggregation und Pivot-Tabellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „GroupBy, Aggregation und Pivot-Tabellen“?

Fassen Sie Daten mit groupby-Operationen und Pivot-Tabellen zusammen. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „GroupBy, Aggregation und Pivot-Tabellen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von Series und DataFrame
  2. Indizierung, Filtern und boolesche Masken
  3. GroupBy, Aggregation und Pivot-Tabellen
  4. Zusammenführen, Verbinden und Datenbereinigung
← Zurück zu Python Academy