No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Extracción de datos con Python y Pandas

7/25
Recursos

Aportes 5

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

A quienes les salio el error ModuleNotFoundError: No module named ‘psycopg2’

Puedes instalar el modulo de la siguiente manera:
pip install psycopg2

Luego de ello reinician el Kernell y siguien con la clase!

No me cargan los datos, ni siquiera por lotes :C

Antes de leer la base de datos con pandas

Les comento que tardaran un poco en leerla. Yo como prueba le puse un LIMIT (no se si afectara en algo) a la secuencia SQL para que leyera mas o menos un 40% de toda la base datos y tarde 22 minutos en leerla desde VScodium.

  • Cuando se termine de cargar, tendran una cantidad de RAM ocupada.

La carga de datos por lotes puede ser muy útil para aquellas personas que tienen limitaciones de memoria en su equipo y no pueden cargar grandes conjuntos de datos en la memoria de una sola vez. Al cargar los datos en pequeñas porciones, la carga por lotes permite procesar los datos de manera más eficiente y sin agotar los recursos de memoria del equipo. Por lo tanto, si tienes limitaciones de memoria en tu equipo, te recomiendo que consideres la carga por lotes para procesar grandes conjuntos de datos.

# Conexión a la base de datos PostgreSQL
conn = pg.connect(
    host="localhost",
    database="postgres",
    user="postgres",
    password="password"
)

# Consulta SQL para seleccionar los datos
query = "SELECT * FROM trades"

# Tamaño del lote para cargar los datos
chunk_size = 1000

# Crear un generador de pandas para leer los datos en lotes
trades_generator = pd.read_sql_query(query, conn, chunksize=chunk_size)

# Concatenar los DataFrames de los lotes en uno solo
trades_df = pd.concat(trades_generator)

# Mostrar las primeras 5 filas del DataFrame completo
trades_df.head()

Si les sale el error: ‘OptionEngine’ object has no attribute 'execute’
Les dejo este tutorial para poder resolverlo: Link
Esto pasa debido a que la nueva versión de SQLAlchemy 2.0.0 eliminó el método Engine.execute que era utilizado por la función read_sql_query de pandas.