0Pricing
Learn AI with Python · Lektion

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.0

aggfunc 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  1

crosstab 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.0

crosstab 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 zusammen
  • fill_value für leere Zellen, margins=True für Summen
  • Listen für index/columns verwenden, um Hierarchien zu erstellen
  • pd.crosstab zählt Kombinationen; normalize liefert 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

  1. GroupBy und Aggregation
  2. Pivot-Tabellen und Kreuztabellierung
  3. Fortgeschrittenes Merging und Joining
  4. Zeitreihen in Pandas
← Zurück zu Learn AI with Python