0Pricing
Learn AI with Python · Leçon

Intégration de Pandas et SQL

pd.read_sql(), df.to_sql(), moteur SQLAlchemy et interrogation directe des résultats de base de données dans des DataFrames.

Intégration de Pandas et SQL est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Pandas rencontre SQL

Vous n’avez pas à choisir entre SQL et pandas : ils fonctionnent ensemble. Interrogez une base de données pour obtenir un DataFrame, transformez-le avec pandas, puis réécrivez les résultats.

Le lien est assuré par SQLAlchemy et les fonctions pandas read_sql et to_sql.

Pourquoi SQLAlchemy ?

pandas communique avec les bases de données via une connexion ou un moteur SQLAlchemy. Le moteur masque le type de base de données, de sorte que le même code fonctionne avec SQLite, PostgreSQL, MySQL et bien d’autres systèmes : il suffit de modifier l’URL.

Créer un moteur

create_engine accepte une URL de connexion. Le schéma de l’URL identifie le pilote de base de données.

from sqlalchemy import create_engine

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

Lire une table avec pd.read_sql

pd.read_sql exécute une requête ou lit une table et renvoie un DataFrame. Transmettez-lui une chaîne SQL et le moteur.

import pandas as pd

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

Lire avec une requête filtrée

Laissez la base de données effectuer le filtrage et l’agrégation, puis transmettez un résultat plus petit à pandas. C’est bien plus efficace que de tout charger.

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

Requêtes paramétrées

Transmettez les paramètres de la requête en toute sécurité avec l’argument params, plutôt que de formater des chaînes.

from sqlalchemy import text

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

Écrire un DataFrame avec df.to_sql

df.to_sql(table, engine) écrit un DataFrame dans une table de base de données, en la créant à partir des types de données du DataFrame si nécessaire.

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

Le paramètre d’index

Par défaut, to_sql écrit l’index du DataFrame comme une colonne. Vous ne le souhaitez généralement pas : transmettez index=False pour l’ignorer.

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

Le paramètre de gestion des tables existantes

if_exists contrôle le comportement lorsque la table existe déjà :

  • "fail" — générer une erreur (par défaut)
  • "replace" — supprimer et recréer la table
  • "append" — ajouter des lignes à la table existante
df.to_sql("results", engine, if_exists="append", index=False)
# Use "replace" to overwrite, "fail" to be safe

Une chaîne de traitement aller-retour

Une chaîne de traitement typique consiste à lire les données brutes depuis SQL, à les transformer dans pandas, puis à réécrire le résultat nettoyé dans une nouvelle table.

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)

Lectures par blocs pour les grandes tables

Pour les tables trop volumineuses pour tenir en mémoire, transmettez chunksize à read_sql afin de parcourir le résultat par lots.

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

Vérification rapide : ajouter des lignes

Vous voulez que to_sql ajoute de nouvelles lignes à une table existante sans la supprimer.

Récapitulatif : pandas et SQL

Vous pouvez maintenant déplacer des données entre pandas et les bases de données :

  • create_engine(url) pour une connexion indépendante de la base de données
  • pd.read_sql(query, engine) pour charger les résultats d’une requête dans un DataFrame
  • df.to_sql(table, engine, index=False, if_exists=...) pour réécrire les données
  • des requêtes paramétrées et chunksize pour la sécurité et le passage à l’échelle

Ensuite : stocker et interroger les résultats d’expériences de ML.

Questions Fréquemment Posées

La leçon « Intégration de Pandas et SQL » est-elle gratuite ?

Oui — le texte complet de « Intégration de Pandas et SQL » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Intégration de Pandas et SQL » ?

pd.read_sql(), df.to_sql(), moteur SQLAlchemy et interrogation directe des résultats de base de données dans des DataFrames. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Intégration de Pandas et SQL » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. SQLite avec le module sqlite3 de Python
  2. Intégration de Pandas et SQL
  3. Stocker et interroger les résultats de l’apprentissage automatique
  4. Introduction aux bases de données vectorielles
← Retour à Learn AI with Python