Claude Code für Datenanalyse: Python, Pandas, SQL mit KI 2026

Datenanalyse ist zu 60% Datenvorbereitung. Claude Code übernimmt genau den Teil der am längsten dauert: Pandas-Transformationen schreiben, SQL-Abfragen optimieren, Datenqualität prüfen — damit du dich auf Insights konzentrieren kannst.

Warum Datenanalyse + Claude Code funktioniert

Der typische Datenanalyse-Flow: Daten laden, bereinigen, transformieren, analysieren, visualisieren. Jeder Schritt erfordert spezifisches API-Wissen (Pandas-Methoden, SQL-Syntax, Matplotlib-Optionen). Claude Code kennt diese APIs besser als die meisten Analysten.

Du beschreibst das Problem in natürlicher Sprache — Claude Code schreibt den Pandas-Code. Du checkst das Ergebnis. Repeat.

Workflow: Daten verstehen in 10 Minuten

  1. Dataset hochladen/referenzieren — Claude Code liest CSV/Parquet/JSON direkt
  2. Quick EDA Prompt — Übersicht: Spalten, Typen, Nullwerte, Ausreißer
  3. Qualitätsprüfung — Claude findet Inkonsistenzen, Duplikate, Typfehler
  4. Transformationen beschreiben — "Berechne wöchentliche Umsätze pro Region"
  5. Code ausführen + iterieren — Ergebnis prüfen, nachsteuern
  6. Visualisierung generieren — "Erstelle ein Balkendiagramm der Top-10-Produkte"

EDA — Explorative Datenanalyse

Quick EDA Prompt

Ich habe ein Dataset: sales_data.csv Lies es und erstelle einen vollständigen EDA-Report: 1. Grundstruktur: Zeilen, Spalten, Datentypen 2. Nullwerte: welche Spalten haben wie viele? 3. Numerische Spalten: mean, median, std, min, max, Quantile 4. Kategorische Spalten: unique values, häufigste Werte 5. Zeitreihen (falls vorhanden): Trend, Saisonalität erkennbar? 6. Auffälligkeiten: Ausreißer, verdächtige Werte, Inkonsistenzen Ausgabe: als lesbaren Bericht mit konkreten Zahlen.
# Claude Code generiert und führt aus: import pandas as pd import numpy as np df = pd.read_csv('sales_data.csv') # Grundstruktur print(f"Shape: {df.shape}") print("\nDatentypen:") print(df.dtypes) # Nullwerte null_pct = (df.isnull().sum() / len(df) * 100).sort_values(ascending=False) print("\nNullwerte (%):") print(null_pct[null_pct > 0]) # Numerische Statistiken print("\nNumerische Übersicht:") print(df.describe().round(2)) # Ausreißer (IQR-Methode) for col in df.select_dtypes(include=np.number).columns: Q1 = df[col].quantile(0.25) Q3 = df[col].quantile(0.75) IQR = Q3 - Q1 outliers = df[(df[col] < Q1 - 1.5*IQR) | (df[col] > Q3 + 1.5*IQR)] if len(outliers) > 0: print(f"Ausreißer in {col}: {len(outliers)} Zeilen")

Datenbereinigung mit Claude Code

# Bereinigung per natürlicher Sprache beschreiben # Prompt: "Bereinige das Dataset: fehlende Werte in 'price' mit Median # füllen, 'date' in datetime konvertieren, Duplikate entfernen, # 'country' standardisieren (DE=Deutschland, AT=Österreich)" df['price'] = df['price'].fillna(df['price'].median()) df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d', errors='coerce') df = df.drop_duplicates(subset=['order_id']) country_map = {'DE': 'Deutschland', 'AT': 'Österreich', 'CH': 'Schweiz', 'de': 'Deutschland'} df['country'] = df['country'].map(country_map).fillna(df['country'])

SQL-Abfragen optimieren

Langsame Query analysieren

Diese SQL-Query läuft 45 Sekunden auf einer Tabelle mit 10M Rows: SELECT u.name, COUNT(o.id) as order_count, SUM(o.total) as revenue FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE o.created_at > '2026-01-01' AND o.status = 'completed' GROUP BY u.id, u.name ORDER BY revenue DESC LIMIT 100; Analysiere das Execution-Problem und schlage Optimierungen vor. Tabellen-Schema: users(id, name, email, created_at), orders(id, user_id, total, status, created_at)
# Claude Code analysiert und schlägt vor: # Problem 1: Kein Index auf orders.user_id, status, created_at CREATE INDEX idx_orders_user_status_date ON orders(user_id, status, created_at) WHERE status = 'completed'; -- Partial index! # Problem 2: LEFT JOIN verschwendet Ressourcen (WHERE filtert eh NULLs) # Fix: INNER JOIN + Subquery zuerst aggregieren SELECT u.name, o.order_count, o.revenue FROM users u INNER JOIN ( SELECT user_id, COUNT(id) AS order_count, SUM(total) AS revenue FROM orders WHERE created_at > '2026-01-01' AND status = 'completed' GROUP BY user_id ) o ON u.id = o.user_id ORDER BY o.revenue DESC LIMIT 100; -- Ergebnis: ~0.8s statt 45s

Visualisierungen generieren

# Prompt: "Erstelle ein professionelles Dashboard mit 4 Plots: # 1. Umsatz-Zeitreihe (täglich, gleitender 7-Tage-Durchschnitt) # 2. Top-10 Produkte nach Umsatz (horizontales Balkendiagramm) # 3. Conversion Rate nach Region (Heatmap) # 4. Kundensegmente (Pie Chart)" import matplotlib.pyplot as plt import seaborn as sns fig, axes = plt.subplots(2, 2, figsize=(14, 10)) fig.suptitle('Sales Dashboard Q1 2026', fontsize=16, fontweight='bold') # Plot 1: Zeitreihe mit gleitendem Durchschnitt daily = df.groupby('date')['revenue'].sum() daily.plot(ax=axes[0,0], alpha=0.4, label='Täglich') daily.rolling(7).mean().plot(ax=axes[0,0], color='red', label='7-Tage-Ø') axes[0,0].set_title('Umsatz-Zeitreihe') axes[0,0].legend() plt.tight_layout() plt.savefig('dashboard_q1_2026.png', dpi=150, bbox_inches='tight')

Automatischer Analyse-Report

# Vollautomatischer Report-Generator # Prompt: "Schreibe ein Python-Script das täglich ausgeführt werden kann. # Es liest sales_data.csv, berechnet KPIs und generiert einen # Markdown-Report der per Email versendet wird." def generate_daily_report(df): today = pd.Timestamp.now().date() yesterday = df[df['date'].dt.date == today - pd.Timedelta(days=1)] last_week = df[df['date'].dt.date >= today - pd.Timedelta(days=7)] report = f""" # Daily Sales Report — {today} ## Gestern - Umsatz: €{yesterday['revenue'].sum():,.0f} - Orders: {len(yesterday):,} - Ø Order-Wert: €{yesterday['revenue'].mean():,.2f} ## Letzte 7 Tage - Umsatz: €{last_week['revenue'].sum():,.0f} - WoW-Trend: {calculate_wow_trend(df):.1f}% ## Top-Produkt gestern {yesterday.groupby('product')['revenue'].sum().idxmax()} """ return report
Tipp: Jupyter + Claude Code. In Jupyter Notebooks kannst du Claude Code-Outputs direkt weiterverarbeiten. Generiere Pandas-Code → führe ihn im Notebook aus → zeige Claude das Ergebnis zum nächsten Schritt.

Datenanalyse-Workflows im Kurs

Im Claude Code Mastery Kurs findest du vollständige Datenanalyse-Workflows: EDA-Templates, SQL-Optimierungs-Prompts, Visualisierungs-Rezepte und automatische Report-Generator — für Python/Pandas und SQL.

14 Tage kostenlos testen →