0Pricing
Learn AI with Python · Lección

Integración de Pandas y SQL

pd.read_sql(), df.to_sql(), motor de SQLAlchemy y consulta directa de resultados de bases de datos en DataFrames.

Integración de Pandas y SQL es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

pandas se encuentra con SQL

No tiene que elegir entre SQL y pandas: funcionan juntos. Consulte una base de datos para obtener un DataFrame, transfórmelo con pandas y vuelva a escribir los resultados.

El elemento de conexión es SQLAlchemy, junto con las funciones de pandas read_sql y to_sql.

¿Por qué SQLAlchemy?

pandas se comunica con las bases de datos mediante una conexión o un engine de SQLAlchemy. El engine abstrae el tipo de base de datos, por lo que el mismo código funciona con SQLite, PostgreSQL, MySQL y otras bases de datos; solo tiene que cambiar la URL.

Creación de un engine

create_engine recibe una URL de conexión. El esquema de la URL identifica el controlador de la base de datos.

from sqlalchemy import create_engine

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

Lectura de una tabla con pd.read_sql

pd.read_sql ejecuta una consulta, o lee una tabla, y devuelve un DataFrame. Proporcione una cadena SQL y el engine.

import pandas as pd

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

Lectura con una consulta filtrada

Deje que la base de datos realice el filtrado y la agregación, y después pase un resultado más pequeño a pandas. Es mucho más eficiente que cargarlo todo.

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

Consultas parametrizadas

Pase los parámetros de la consulta de forma segura mediante el argumento params en lugar de formatear cadenas.

from sqlalchemy import text

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

Escritura de un DataFrame con df.to_sql

df.to_sql(table, engine) escribe un DataFrame en una tabla de base de datos y, si es necesario, la crea a partir de los tipos de datos del DataFrame.

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

El parámetro index

De forma predeterminada, to_sql escribe el índice del DataFrame como una columna. Normalmente no querrá hacerlo; pase index=False para omitirlo.

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

El parámetro if_exists

if_exists controla el comportamiento cuando la tabla ya existe:

  • "fail": genera un error (predeterminado)
  • "replace": elimina y vuelve a crear la tabla
  • "append": añade filas a la tabla existente
df.to_sql("results", engine, if_exists="append", index=False)
# Use "replace" to overwrite, "fail" to be safe

Un flujo de trabajo de ida y vuelta

Una canalización habitual: leer datos sin procesar desde SQL, transformarlos en pandas y volver a escribir el resultado limpio en una tabla nueva.

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)

Lecturas por bloques para tablas grandes

Para las tablas demasiado grandes para caber en la memoria, pase chunksize a read_sql para iterar sobre el resultado por lotes.

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

Comprobación rápida: añadir filas

Quiere que to_sql añada filas nuevas a una tabla existente sin eliminarla.

Resumen: pandas y SQL

Ahora puede mover datos entre pandas y las bases de datos:

  • create_engine(url) para obtener una conexión independiente del tipo de base de datos
  • pd.read_sql(query, engine) para cargar los resultados de una consulta en un DataFrame
  • df.to_sql(table, engine, index=False, if_exists=...) para volver a escribir los datos
  • consultas parametrizadas y chunksize para obtener seguridad y escalabilidad

A continuación: almacenar y consultar resultados de experimentos de ML.

Preguntas frecuentes

¿La lección «Integración de Pandas y SQL» es gratis?

Sí — el texto completo de «Integración de Pandas y SQL» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Integración de Pandas y SQL»?

pd.read_sql(), df.to_sql(), motor de SQLAlchemy y consulta directa de resultados de bases de datos en DataFrames. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Integración de Pandas y SQL»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. SQLite con el módulo sqlite3 de Python
  2. Integración de Pandas y SQL
  3. Almacenamiento y consulta de resultados de machine learning
  4. Introducción a las bases de datos vectoriales
← Volver a Learn AI with Python