Seit 2019 im DACH-RaumSeit 2019
50+ Statistik-Experten50+ Experten
Über 1.200 Projekte1.200+ Projekte
Alle StatistikprogrammeAlle Programme
Express möglichExpress
Statistik-Ratgeber

Wie funktioniert Datenanalyse mit pandas in Python?

Python · Maximilian Fuchs · 9. Juni 2026 · 12 Min. Lesezeit

Was ist pandas – und warum ist es so zentral?

pandas ist die wichtigste Python-Bibliothek für die tabellarische Datenanalyse. Sie liefert Datenstrukturen und Funktionen, mit denen sich Rohdaten aus CSV-Dateien, Excel-Tabellen, Datenbanken oder Umfragen komfortabel laden, bereinigen, umstrukturieren und auswerten lassen.

Entstanden ist pandas als direkte Antwort auf ein praktisches Problem: Python war zwar eine leistungsfähige Programmiersprache für wissenschaftliches Rechnen, bot aber keine geeigneten Werkzeuge für den Umgang mit tabellarischen und zeitindizierten Daten, wie sie in Statistik, Sozialforschung oder Finanzanalyse täglich anfallen. Das zentrale Ziel war es, Python um Datenstrukturen zu erweitern, die strukturierte, beschriftete Daten handhabbar machen und gleichzeitig als Bindeglied zu statistischen Modellen dienen.

Für Studierende und Forschende bedeutet das in der Praxis: pandas ist nicht nur ein Importwerkzeug. Es ist die zentrale Schicht zwischen Ihren Rohdaten und der eigentlichen statistischen Auswertung – ob t-Test, Regressionsanalyse oder ANOVA.

Gut zu wissen pandas ist kostenlos, quelloffen und fester Bestandteil jeder gängigen Python-Distribution wie Anaconda. Sie müssen die Bibliothek in der Regel nicht separat installieren – ein import pandas as pd genügt.

Die zwei Kerndatenstrukturen: Series und DataFrame

Das gesamte pandas-Universum baut auf zwei Datenstrukturen auf. Wer diese beiden versteht, versteht pandas.

Series – die eindimensionale Datenreihe

Eine Series ist im Grunde eine beschriftete Liste: ein eindimensionales Array mit einem Index. Stellen Sie sich eine einzelne Spalte in einer Tabelle vor – zum Beispiel die Altersangaben Ihrer Befragten. Jeder Wert hat einen zugehörigen Label (den Index), über den er gezielt angesprochen werden kann.

Python
import pandas as pd

alter = pd.Series([22, 25, 31, 28, 24], name="alter")
print(alter)
# 0    22
# 1    25
# 2    31
# 3    28
# 4    24
# Name: alter, dtype: int64

DataFrame – die zweidimensionale Tabelle

Ein DataFrame ist das Herzstück von pandas: eine zweidimensionale Tabelle mit beschrifteten Zeilen und Spalten. Jede Spalte ist eine Series. Gemeinsam bilden mehrere Spalten den vollständigen Datensatz – genau so, wie Sie es aus Excel oder SPSS kennen.

DataFrames lassen sich aus NumPy-Arrays, Listen, Dictionaries oder direkt aus Dateien erstellen und unterstützen Datumsindizes, gemischte Datentypen und fehlende Werte nativ.

Python
daten = {
    "alter": [22, 25, 31, 28, 24],
    "geschlecht": ["w", "m", "w", "d", "m"],
    "testwert": [78.5, 82.0, 91.3, 74.8, 88.1]
}

df = pd.DataFrame(daten)
print(df)

Das Ergebnis: eine sauber strukturierte Tabelle mit 5 Zeilen und 3 Spalten – bereit für die Analyse.

Daten laden und erste Orientierung

In der Praxis erstellen Sie DataFrames selten manuell. Stattdessen laden Sie vorhandene Datensätze aus CSV- oder Excel-Dateien. pandas macht das mit zwei Funktionen denkbar einfach.

Python
# CSV-Datei laden
df = pd.read_csv("datensatz.csv")

# Excel-Datei laden
df = pd.read_excel("datensatz.xlsx", sheet_name="Tabelle1")

Eine ausführliche Übersicht zu Import-Optionen – inklusive Trennzeichen, Encoding und fehlender-Werte-Markierungen – finden Sie im Beitrag zum Import von CSV- und Excel-Daten in Python.

Erste Orientierung im Datensatz

Nach dem Laden sollten Sie sich zunächst einen Überblick verschaffen. Diese vier Befehle gehören zum Standardrepertoire:

  • df.head() – zeigt die ersten 5 Zeilen
  • df.tail() – zeigt die letzten 5 Zeilen
  • df.info() – zeigt Datentypen, Spaltennamen und fehlende Werte auf einen Blick
  • df.describe() – berechnet deskriptive Statistiken (Mittelwert, Standardabweichung, Min, Max, Quartile) für alle numerischen Spalten
Python
print(df.head())
print(df.info())
print(df.describe())

df.describe() ist dabei besonders praktisch: Mit einer einzigen Zeile erhalten Sie eine vollständige Übersicht der wichtigsten Kennzahlen – was in SPSS mehrere Klicks erfordert, erledigt pandas in Sekunden. Wer die Unterschiede zwischen Python und SPSS kennt, weiß diesen Vorteil schnell zu schätzen.

Datenbereinigung: Fehlende Werte und Struktur prüfen

Bevor Sie mit der eigentlichen Analyse beginnen, müssen Ihre Daten in einem analysegeeigneten Format vorliegen. Das klingt selbstverständlich, ist in der Praxis aber einer der häufigsten Stolpersteine – gerade wenn Rohdaten aus Umfragen, Excel-Exporten oder Experimenten stammen.

Ein grundlegendes methodisches Prinzip hilft hier zur Orientierung: In analytisch sinnvoll strukturierten Datensätzen bildet jede Variable eine Spalte, jede Beobachtung eine Zeile und jede Beobachtungseinheit eine eigene Tabelle. pandas-Operationen wie Gruppierungen, Joins und statistische Modelle setzen genau diese Struktur voraus. Wer Präsentationstabellen oder breit formatierte Übersichtstabellen direkt auswertet, ohne sie vorher umzustrukturieren, wird mit unerwarteten Ergebnissen konfrontiert.

Fehlende Werte erkennen und behandeln

Fehlende Werte werden in pandas als NaN (Not a Number) dargestellt. Sie entstehen beim Import, wenn Zellen leer sind, oder durch Berechnungen mit nicht zusammenpassenden Indizes.

Python
# Fehlende Werte pro Spalte zählen
print(df.isna().sum())

# Zeilen mit fehlenden Werten entfernen
df_clean = df.dropna()

# Fehlende Werte mit dem Spaltenmittelwert auffüllen
df["testwert"] = df["testwert"].fillna(df["testwert"].mean())

Welche Strategie sinnvoll ist – listenweiser Ausschluss, spaltenweiser Ausschluss oder Imputation – hängt vom Forschungsdesign und dem Umfang der fehlenden Daten ab. Eine vertiefte Diskussion dazu bietet der Beitrag zum Umgang mit fehlenden Werten in Python.

Häufiger Fehler pandas schließt fehlende Werte bei den meisten Berechnungen standardmäßig aus. Das klingt praktisch, kann aber zu irreführenden Ergebnissen führen, wenn Sie nicht wissen, wie viele Fälle tatsächlich in eine Berechnung eingegangen sind. Prüfen Sie daher vor jeder Auswertung den Umfang fehlender Werte explizit mit df.isna().sum().

Datentypen prüfen und korrigieren

Zahlen, die als Text eingelesen wurden, führen zu Fehlern in jeder statistischen Berechnung. df.info() zeigt den Datentyp jeder Spalte. Mit df["alter"] = df["alter"].astype(int) konvertieren Sie Spalten in den gewünschten Typ.

Variablen auswählen, filtern und transformieren

Sobald Ihre Daten bereinigt sind, geht es darum, relevante Variablen auszuwählen und ggf. neue zu berechnen. pandas bietet dafür eine klare und lesbare Syntax.

Spalten und Zeilen auswählen

Python
# Eine einzelne Spalte auswählen (gibt eine Series zurück)
testwerte = df["testwert"]

# Mehrere Spalten auswählen (gibt einen DataFrame zurück)
teilmenge = df[["alter", "testwert"]]

# Zeilen nach Bedingung filtern
nur_weiblich = df[df["geschlecht"] == "w"]

# Kombinierte Bedingungen
jung_und_hoch = df[(df["alter"] < 27) & (df["testwert"] > 80)]

Neue Variablen berechnen

Neue Spalten lassen sich direkt als arithmetische Operationen bestehender Spalten erstellen – spaltenweise, ohne Schleifen:

Python
# Z-Standardisierung von Hand
df["testwert_z"] = (df["testwert"] - df["testwert"].mean()) / df["testwert"].std()

# Kategorisierung mit cut()
df["altersgruppe"] = pd.cut(df["alter"], bins=[18, 25, 35, 50], labels=["jung", "mittel", "reif"])

Das ist deutlich eleganter als entsprechende Formeln in Excel – und vor allem reproduzierbar. Wer mehr über die Vorteile gegenüber tabellenbasierter Analyse erfahren möchte, findet im Beitrag Warum Python statt Excel für die Datenanalyse? eine fundierte Gegenüberstellung.

Gruppieren und aggregieren mit groupby

Eine der mächtigsten Funktionen in pandas ist groupby(). Sie arbeitet nach dem Prinzip Split – Apply – Combine: Der Datensatz wird nach einer oder mehreren Variablen aufgeteilt, eine Funktion wird auf jede Gruppe angewandt, und die Ergebnisse werden zusammengeführt.

Python
# Mittlerer Testwert nach Geschlecht
mittelwerte = df.groupby("geschlecht")["testwert"].mean()
print(mittelwerte)

# Mehrere Kennzahlen auf einmal
kennzahlen = df.groupby("geschlecht")["testwert"].agg(["mean", "std", "count"])
print(kennzahlen)

# Mehrere Gruppierungsvariablen
df.groupby(["geschlecht", "altersgruppe"])["testwert"].mean()

Was in SPSS eine Kreuztabelle oder ein Means-Dialog ist, erledigt pandas in einer einzigen Zeile – mit vollständiger Kontrolle über das Ausgabeformat. Für weiterführende statistische Analysen auf Basis solcher Gruppenvergleiche empfiehlt sich ein Blick auf die verfügbaren Python-Tools für die Datenanalyse, die pandas sinnvoll ergänzen.

Der vollständige Analyse-Workflow im Überblick

In der Praxis folgt eine pandas-gestützte Datenanalyse einem klar strukturierten Ablauf. Die folgende Tabelle gibt Ihnen eine Orientierung:

Typischer pandas-Workflow für empirische Auswertungen
Schritt Aufgabe Wichtige Funktionen
1 Daten laden read_csv(), read_excel()
2 Struktur prüfen head(), info(), describe()
3 Fehlende Werte behandeln isna(), dropna(), fillna()
4 Variablen auswählen & filtern Spalten-Selektion, boolesche Indizierung
5 Variablen transformieren Arithmetik, cut(), apply()
6 Gruppieren & aggregieren groupby(), agg()
7 Visualisieren df.plot(), matplotlib, seaborn
8 Ergebnisse exportieren to_csv(), to_excel()

Dieser Ablauf entspricht im Wesentlichen den klassischen Schritten einer Datenanalyse. Der entscheidende Punkt: Mit pandas decken Sie die Schritte 1 bis 6 vollständig ab, bevor Sie statistische Modelle aus scipy, statsmodels oder scikit-learn einbinden.

Ein vollständiges Mini-Beispiel

Python
import pandas as pd

# 1. Daten laden
df = pd.read_csv("studie_ergebnisse.csv")

# 2. Struktur prüfen
print(df.info())
print(df.describe())

# 3. Fehlende Werte behandeln
print(df.isna().sum())
df = df.dropna(subset=["testwert"])

# 4. Filtern: nur Teilnehmende ab 18 Jahren
df = df[df["alter"] >= 18]

# 5. Neue Variable berechnen
df["testwert_z"] = (df["testwert"] - df["testwert"].mean()) / df["testwert"].std()

# 6. Gruppieren und aggregieren
ergebnis = df.groupby("gruppe")["testwert"].agg(["mean", "std", "count"])
print(ergebnis)

# 7. Ergebnis exportieren
ergebnis.to_csv("deskriptive_statistiken.csv")

Dieser Code ist vollständig lauffähig und deckt einen realistischen Auswertungsablauf für eine empirische Abschlussarbeit ab. Wie Sie Ihre Ergebnisse anschließend dokumentationsgerecht aufbereiten, beschreibt der Beitrag zum Export von Python-Ergebnissen für die Abschlussarbeit.

Was kommt nach pandas?

pandas ist die Grundlage – aber keine vollständige Statistiksoftware. Für inferenzstatistische Verfahren brauchen Sie zusätzliche Bibliotheken, die nahtlos auf pandas-DataFrames aufbauen:

  • scipy.stats – für klassische Tests (t-Test, Chi-Quadrat, Korrelation)
  • statsmodels – für Regressionsmodelle, ANOVA und komplexe lineare Modelle
  • matplotlib / seaborn – für professionelle Datenvisualisierungen
  • scikit-learn – für maschinelles Lernen und prädiktive Modelle

Den Unterschied zwischen scipy und statsmodels – und wann welche Bibliothek sinnvoller ist – erklärt der Beitrag zum Vergleich von statsmodels und scipy.

Einfach erklärt Denken Sie an pandas als Ihre Datenvorbereitung und -verwaltung, und an scipy oder statsmodels als Ihre eigentliche Statistiksoftware. Beide greifen auf denselben DataFrame zurück – das macht den Workflow konsistent und nachvollziehbar.

Wenn Sie unsicher sind, ob pandas für Ihre konkrete Fragestellung das richtige Werkzeug ist, oder wenn Sie Unterstützung bei der statistischen Auswertung Ihrer Abschlussarbeit benötigen, finden Sie bei unserer Python-Hilfe und Beratung für statistische Auswertungen erfahrene Unterstützung – von der Datenaufbereitung bis zur Ergebnisinterpretation.

Einen umfassenden Einstieg in das gesamte Themenfeld bietet außerdem der Übersichtsartikel zur Datenanalyse mit Python, der alle relevanten Werkzeuge, Verfahren und Anwendungsfälle zusammenführt.

pandas Python Datenanalyse DataFrame Datenbereinigung groupby Abschlussarbeit Statistik

Ihr persönlicher Ansprechpartner

Maximilian Fuchs, M. Sc.

Teilen Sie uns mit, wie wir Ihnen helfen können.

  • Persönlicher Ansprechpartner
  • Schnelle Rückmeldung
  • Transparente Preise
  • Schutz Ihrer Daten

Fragen? Einfach anrufen!