0Pricing
Learn AI with Python · Lektion

Pandas- und SQL-Integration

pd.read_sql(), df.to_sql(), SQLAlchemy-Engine und Datenbankergebnisse direkt in DataFrames abfragen.

Pandas- und SQL-Integration ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Pandas trifft auf SQL

Sie müssen sich nicht zwischen SQL und pandas entscheiden — beide arbeiten gut zusammen. Fragen Sie eine Datenbank in einen DataFrame ab, transformieren Sie die Daten mit pandas und schreiben Sie die Ergebnisse zurück.

Das Bindeglied bilden SQLAlchemy sowie die pandas-Funktionen read_sql und to_sql.

Warum SQLAlchemy?

pandas kommuniziert über eine Verbindung oder eine SQLAlchemy-Engine mit Datenbanken. Die Engine abstrahiert den Datenbanktyp, sodass derselbe Code für SQLite, PostgreSQL, MySQL und weitere Systeme funktioniert — Sie müssen lediglich die URL ändern.

Eine Engine erstellen

create_engine akzeptiert eine Verbindungs-URL. Das Schema der URL gibt den Datenbanktreiber an.

from sqlalchemy import create_engine

engine = create_engine("sqlite:///ml.db")
# Postgres: create_engine("postgresql://user:pass@host:5432/db")

Eine Tabelle mit pd.read_sql lesen

pd.read_sql führt eine Abfrage aus oder liest eine Tabelle und gibt einen DataFrame zurück. Übergeben Sie eine SQL-Zeichenkette und die Engine.

import pandas as pd

df = pd.read_sql("SELECT * FROM experiments", engine)
print(df.head())

Mit einer gefilterten Abfrage lesen

Lassen Sie die Datenbank filtern und aggregieren und übergeben Sie anschließend ein kleineres Ergebnis an pandas. Das ist deutlich effizienter, als alles zu laden.

df = pd.read_sql(
    "SELECT name, accuracy FROM experiments WHERE accuracy > 0.85 ORDER BY accuracy DESC",
    engine,
)
print(df)

Parametrisierte Abfragen

Übergeben Sie Abfrageparameter sicher mit dem Argument params, anstatt Zeichenketten zu formatieren.

from sqlalchemy import text

df = pd.read_sql(
    text("SELECT * FROM experiments WHERE name = :n"),
    engine,
    params={"n": "xgb"},
)

Einen DataFrame mit df.to_sql schreiben

df.to_sql(table, engine) schreibt einen DataFrame in eine Datenbanktabelle und erstellt diese bei Bedarf aus den DataFrame-Datentypen.

df.to_sql("results", engine, index=False)

Der Parameter index

Standardmäßig schreibt to_sql den DataFrame-Index als Spalte. In der Regel ist das nicht erwünscht — übergeben Sie index=False, um ihn auszulassen.

df.to_sql("results", engine, index=False)   # no extra index column

Der Parameter if_exists

if_exists steuert das Verhalten, wenn die Tabelle bereits vorhanden ist:

  • "fail" — einen Fehler auslösen (Standard)
  • "replace" — die Tabelle löschen und neu erstellen
  • "append" — Zeilen an die vorhandene Tabelle anhängen
df.to_sql("results", engine, if_exists="append", index=False)
# Use "replace" to overwrite, "fail" to be safe

Ein Workflow mit Hin- und Rückübertragung

Eine typische Pipeline: Rohdaten aus SQL lesen, sie in pandas transformieren und das bereinigte Ergebnis in eine neue Tabelle zurückschreiben.

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine("sqlite:///ml.db")
raw = pd.read_sql("SELECT * FROM experiments", engine)
raw["accuracy_pct"] = (raw["accuracy"] * 100).round(1)
raw.to_sql("experiments_clean", engine, if_exists="replace", index=False)

Blockweises Lesen großer Tabellen

Bei Tabellen, die zu groß für den Arbeitsspeicher sind, übergeben Sie chunksize an read_sql, um das Ergebnis blockweise zu durchlaufen.

for chunk in pd.read_sql("SELECT * FROM big_table", engine, chunksize=10000):
    process(chunk)   # handle 10k rows at a time

Kurztest: Zeilen anhängen

Sie möchten, dass to_sql neue Zeilen an eine vorhandene Tabelle anhängt, ohne sie zu löschen.

Zusammenfassung: pandas und SQL

Sie können jetzt Daten zwischen pandas und Datenbanken übertragen:

  • create_engine(url) für eine datenbankunabhängige Verbindung
  • pd.read_sql(query, engine), um Abfrageergebnisse in einen DataFrame zu laden
  • df.to_sql(table, engine, index=False, if_exists=...), um Daten zurückzuschreiben
  • Parametrisierte Abfragen und chunksize für Sicherheit und Skalierbarkeit

Als Nächstes speichern und fragen Sie die Ergebnisse von ML-Experimenten ab.

Häufig gestellte Fragen

Ist die Lektion „Pandas- und SQL-Integration“ kostenlos?

Ja — der vollständige Text von „Pandas- und SQL-Integration“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Pandas- und SQL-Integration“?

pd.read_sql(), df.to_sql(), SQLAlchemy-Engine und Datenbankergebnisse direkt in DataFrames abfragen. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Pandas- und SQL-Integration“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. SQLite mit Pythons sqlite3-Modul
  2. Pandas- und SQL-Integration
  3. ML-Ergebnisse speichern und abfragen
  4. Einführung in Vektordatenbanken
← Zurück zu Learn AI with Python