Pivot-Tabellen und Kreuztabellierung
pd.pivot_table(), pd.crosstab() und Umformen von Daten für zusammenfassende Statistiken.
Pivot-Tabellen und Kreuztabellierung ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 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 Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Umformen für bessere Einblicke
Eine Pivot-Tabelle formt lange Daten in ein Raster um und fasst einen Wert über zwei kategoriale Achsen zusammen. Sie entspricht der Ihnen bekannten Tabellenkalkulations-Pivot-Tabelle, ist aber programmierbar.
import pandas as pd
df = pd.DataFrame({
"region": ["E", "E", "W", "W", "E"],
"product": ["A", "B", "A", "B", "A"],
"sales": [10, 20, 30, 40, 50],
})Grundlegende pivot_table
pd.pivot_table verwendet values (die zusammenzufassenden Zahlen), index (Zeilen) und columns (Spalten). Standardmäßig wird der Mittelwert doppelter Zellen berechnet.
pt = pd.pivot_table(df, values="sales", index="region", columns="product")
print(pt)
# product A B
# region
# E 30.0 20.0
# W 30.0 40.0aggfunc auswählen
Legen Sie mit aggfunc fest, wie Duplikate zusammengefasst werden: Summe, Mittelwert, Anzahl und weitere. Verwenden Sie eine Liste, um mehrere Funktionen gleichzeitig anzuwenden.
pt = pd.pivot_table(df, values="sales", index="region",
columns="product", aggfunc="sum")
print(pt)Mehrere aggfuncs
Übergeben Sie eine Liste von Funktionen, um mehrere Zusammenfassungen nebeneinander zu berechnen.
pt = pd.pivot_table(df, values="sales", index="region",
aggfunc=["sum", "mean", "count"])
print(pt)Fehlende Zellen auffüllen
Kombinationen ohne Daten werden zu NaN. fill_value ersetzt diese Werte, häufig durch 0, und sorgt so für übersichtliche Berichte.
pt = pd.pivot_table(df, values="sales", index="region",
columns="product", aggfunc="sum", fill_value=0)
print(pt)Margins (Summen)
Setzen Sie margins=True, um Gesamtwerte für Zeilen und Spalten anzuhängen. Diese werden standardmäßig mit „All“ beschriftet.
pt = pd.pivot_table(df, values="sales", index="region",
columns="product", aggfunc="sum",
fill_value=0, margins=True)
print(pt)Mehrere Indexebenen
Übergeben Sie Listen an index oder columns, um hierarchische Aufschlüsselungen zu erstellen, beispielsweise zuerst nach Region und dann nach Produkt.
df["channel"] = ["on", "off", "on", "off", "on"]
pt = pd.pivot_table(df, values="sales",
index=["region", "channel"], aggfunc="sum")
print(pt)Kreuztabellierung mit crosstab
pd.crosstab ist eine spezialisierte Pivot-Funktion, die die Häufigkeit von Kombinationen zweier kategorialer Variablen ZÄHLT. Eine Wertespalte ist nicht erforderlich.
ct = pd.crosstab(df["region"], df["product"])
print(ct)
# product A B
# region
# E 2 1
# W 1 1crosstab normalisieren
Das Argument normalize wandelt Zählwerte in Anteile um: "index" pro Zeile, "columns" pro Spalte oder True bezogen auf die Gesamtsumme.
ct = pd.crosstab(df["region"], df["product"], normalize="index")
print(ct) # each row sums to 1.0crosstab mit Werten
Geben Sie values und aggfunc an, damit crosstab eine Kennzahl statt einer Anzahl zusammenfasst. Dadurch ähnelt die Funktion stärker pivot_table.
ct = pd.crosstab(df["region"], df["product"],
values=df["sales"], aggfunc="sum")
print(ct)pivot_table vs. crosstab
Verwenden Sie pivot_table, wenn Sie einen numerischen Wert zusammenfassen; verwenden Sie crosstab, wenn Sie die Häufigkeit von Kategorienkombinationen zählen. Mit crosstab lassen sich Anteile außerdem in einer einzigen Zeile berechnen.
Kurzer Test
Testen Sie Ihr Wissen zum Umformen von Daten.
Zusammenfassung
Werkzeuge zum Umformen:
pd.pivot_table(values, index, columns, aggfunc)fasst eine Kennzahl zusammenfill_valuefür leere Zellen,margins=Truefür Summen- Listen für
index/columnsverwenden, um Hierarchien zu erstellen pd.crosstabzählt Kombinationen;normalizeliefert Anteile
Häufig gestellte Fragen
Ist die Lektion „Pivot-Tabellen und Kreuztabellierung“ kostenlos?
Ja — der vollständige Text von „Pivot-Tabellen und Kreuztabellierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Pivot-Tabellen und Kreuztabellierung“?
pd.pivot_table(), pd.crosstab() und Umformen von Daten für zusammenfassende Statistiken. Du übst Learn AI with Python 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 Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python 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 2 von 4.
Wie lange dauert die Lektion „Pivot-Tabellen und Kreuztabellierung“?
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 Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-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
- GroupBy und Aggregation
- Pivot-Tabellen und Kreuztabellierung
- Fortgeschrittenes Merging und Joining
- Zeitreihen in Pandas