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