Datenanalyse mit pandas: Erste Schritte

pandas ist die wichtigste Bibliothek für Datenanalyse in Python. In diesem Beitrag lernst du DataFrames, das Einlesen von CSV-Dateien, Filtern, Gruppieren und mehr.

Teilen
Datenanalyse mit pandas: Erste Schritte

Sobald du in Python mit echten Daten arbeitest, kommst du an einer Bibliothek kaum vorbei: pandas. Sie macht aus unübersichtlichen Tabellen handliche Objekte, mit denen du filtern, gruppieren und rechnen kannst, fast wie in einer Tabellenkalkulation, nur viel mächtiger. In diesem Beitrag machen wir die ersten Schritte mit pandas und schauen uns die wichtigsten Bausteine an.

pandas installieren und importieren

pandas ist nicht in der Standardbibliothek enthalten, lässt sich aber leicht installieren. Üblicherweise importierst du es unter dem Kürzel pd, das ist in der Community Konvention.

pip install pandas
import pandas as pd

print(pd.__version__)  # gibt die installierte Version aus

Mit diesem kurzen Import hast du Zugriff auf alle Funktionen von pandas. Los geht es mit dem zentralen Datentyp.

Der DataFrame

Das Herzstück von pandas ist der DataFrame. Du kannst ihn dir wie eine Tabelle mit Zeilen und Spalten vorstellen. Am einfachsten erstellst du einen DataFrame aus einem Dictionary.

import pandas as pd

daten = {
    "name": ["Anna", "Ben", "Clara"],
    "alter": [25, 30, 28],
    "stadt": ["Berlin", "Hamburg", "Berlin"]
}

df = pd.DataFrame(daten)
print(df)
print(df.shape)  # (3, 3) -> 3 Zeilen, 3 Spalten

Jede Spalte hat einen Namen, jede Zeile einen Index. Mit df.shape siehst du auf einen Blick, wie groß deine Tabelle ist.

CSV-Dateien einlesen

In der Praxis kommen Daten oft aus Dateien. pandas liest CSV-Dateien mit einer einzigen Zeile ein. Anschließend kannst du dir mit head die ersten Zeilen anzeigen lassen.

import pandas as pd

df = pd.read_csv("verkaeufe.csv")

print(df.head())      # erste 5 Zeilen
print(df.info())      # Überblick über Spalten und Datentypen
print(df.describe())  # statistische Kennzahlen

Die drei Methoden head, info und describe sind ideal, um sich einen ersten Überblick über unbekannte Daten zu verschaffen.

Spalten auswählen und filtern

Sehr oft willst du nur bestimmte Zeilen oder Spalten betrachten. Eine einzelne Spalte wählst du über ihren Namen aus. Zeilen filterst du mit einer Bedingung, die ein Wahr-Falsch-Muster erzeugt.

import pandas as pd

df = pd.DataFrame({
    "name": ["Anna", "Ben", "Clara"],
    "alter": [25, 30, 28],
    "stadt": ["Berlin", "Hamburg", "Berlin"]
})

# Eine Spalte auswählen
print(df["name"])

# Nach Bedingung filtern: nur Personen aus Berlin
berliner = df[df["stadt"] == "Berlin"]
print(berliner)

Diese Art der Filterung mit eckigen Klammern und einer Bedingung wirst du in pandas ständig verwenden. Du kannst Bedingungen mit & (und) sowie | (oder) kombinieren.

Gruppieren und zusammenfassen

Eine der größten Stärken von pandas ist das Gruppieren. Mit groupby fasst du Zeilen nach einer Spalte zusammen und berechnest dann Kennzahlen wie Mittelwert oder Summe je Gruppe.

import pandas as pd

df = pd.DataFrame({
    "stadt": ["Berlin", "Hamburg", "Berlin", "Hamburg"],
    "umsatz": [100, 200, 150, 250]
})

# Durchschnittlicher Umsatz je Stadt
ergebnis = df.groupby("stadt")["umsatz"].mean()
print(ergebnis)
# Berlin     125.0
# Hamburg    225.0

Mit groupby beantwortest du typische Fragen wie "Wie hoch ist der durchschnittliche Umsatz pro Stadt?" in einer einzigen Zeile.

Neue Spalten berechnen

Du kannst auch neue Spalten aus bestehenden ableiten. pandas wendet Rechenoperationen automatisch auf die gesamte Spalte an, das nennt man Vektorisierung und ist sehr schnell.

import pandas as pd

df = pd.DataFrame({
    "produkt": ["A", "B", "C"],
    "preis": [10, 20, 30],
    "menge": [3, 1, 2]
})

# Neue Spalte: Gesamtpreis
df["gesamt"] = df["preis"] * df["menge"]
print(df)

So baust du dir Schritt für Schritt genau die Auswertungen, die du brauchst, ohne eine einzige Schleife schreiben zu müssen.

Fazit

pandas ist das Standardwerkzeug für Datenanalyse in Python und überraschend zugänglich. Du hast gesehen, wie du DataFrames erstellst, CSV-Dateien einliest, Spalten auswählst, Daten filterst, mit groupby gruppierst und neue Spalten berechnest. Damit hast du das Fundament gelegt, um echte Datensätze zu erkunden. Mein Tipp: Lade dir einen kostenlosen CSV-Datensatz aus dem Internet und probiere die gezeigten Befehle direkt daran aus. So bekommst du am schnellsten ein Gefühl für die Möglichkeiten von pandas.