Ein DataFrame ist die zentrale Datenstruktur in Pandas und wird für die Analyse und Verarbeitung von tabellarischen Daten verwendet. Man kann es sich wie ein Excel- oder SQL-Table vorstellen: Zeilen entsprechen Datensätzen, Spalten den Attributen. In diesem Teil lernst du, wie man DataFrames erstellt, bearbeitet, filtert und analysiert.
1. DataFrame erstellen
Aus einem Dictionary
import pandas as pd
daten = {
"Name": ["Anna", "Ben", "Clara", "David"],
"Alter": [28, 35, 22, 30],
"Land": ["Deutschland", "Österreich", "Deutschland", "Schweiz"]
}
df = pd.DataFrame(daten)
print(df)
Ausgabe:
Name Alter Land
0 Anna 28 Deutschland
1 Ben 35 Österreich
2 Clara 22 Deutschland
3 David 30 Schweiz
- Jede Spalte ist eine Pandas Series
- Der Index wird automatisch erstellt (0, 1, 2, …)
2. Zugriff auf Spalten
# Einzelne Spalte
print(df["Name"])
# Mehrere Spalten
print(df[["Name", "Alter"]])
- Zugriff auf Spalten liefert eine Series (einfach) oder DataFrame (mehrere Spalten)
3. Zugriff auf Zeilen
Mit loc (Label-basiert)
print(df.loc[1]) # Zeile mit Index 1
print(df.loc[0:2]) # Zeilen 0 bis 2
Mit iloc (Positions-basiert)
print(df.iloc[2]) # Zeile an Position 2
print(df.iloc[0:3]) # Zeilen 0 bis 2
loc→ arbeitet mit Index-Labelsiloc→ arbeitet mit numerischen Positionen
4. Filtern von Daten
# Alle Kunden über 30 Jahre
print(df[df["Alter"] > 30])
# Kunden aus Deutschland
print(df[df["Land"] == "Deutschland"])
- Bedingungen können kombiniert werden:
df[(df["Alter"] > 25) & (df["Land"] == "Deutschland")]
5. Neue Spalten erstellen
# Alter in 5 Jahren
df["Alter_in_5_Jahren"] = df["Alter"] + 5
# VIP-Kunden markieren
df["VIP"] = df["Name"].isin(["Anna", "Clara"])
print(df)
- Spalten lassen sich einfach hinzufügen oder berechnen
6. Daten bearbeiten
# Werte ändern
df.loc[df["Name"] == "Ben", "Land"] = "Deutschland"
# Fehlende Werte auffüllen
df["Alter"].fillna(df["Alter"].mean(), inplace=True)
loczum gezielten Bearbeitenfillna()für fehlende Werte
7. Daten zusammenfassen
# Grundlegende Statistik
print(df.describe())
# Häufigkeit einer Kategorie
print(df["Land"].value_counts())
describe()→ Mittelwert, Minimum, Maximum, Quartilevalue_counts()→ Anzahl der Vorkommen
8. Daten sortieren
# Nach Alter aufsteigend
df.sort_values("Alter", inplace=True)
# Nach Name absteigend
df.sort_values("Name", ascending=False)
inplace=True→ Änderungen direkt im DataFrame speichern
9. Spalten umbenennen
df.rename(columns={"Name": "Vorname", "Land": "Landesname"}, inplace=True)
- Verbessert Lesbarkeit und Verständlichkeit
10. Daten importieren und exportieren
CSV-Dateien laden
df = pd.read_csv("kunden.csv")
DataFrame speichern
df.to_csv("kunden_neu.csv", index=False)
index=False→ Index nicht speichern- Praktisch für Data-Science-Workflows
11. Praxisbeispiel: Kundenanalyse
# CSV laden
df = pd.read_csv("kunden.csv")
# Durchschnittsalter berechnen
durchschnitt = df["Alter"].mean()
print(f"Durchschnittsalter: {durchschnitt:.2f}")
# VIP-Kunden filtern
vip_kunden = df[df["Name"].isin(["Anna", "Clara"])]
vip_kunden.to_csv("vip_kunden.csv", index=False)
- Zeigt Daten laden, filtern und speichern
- Kombiniert analytische Berechnungen und Export
Schreibe einen Kommentar