Extracción de datos con Python y Pandas

Clase 7 de 25Curso de Fundamentos de ETL con Python y Pentaho

Resumen

¿Cómo extraer datos utilizando Python y Pandas?

Iniciar un proyecto de análisis de datos puede parecer una tarea titánica, pero con las herramientas adecuadas, se vuelve manejable. En esta sesión, abordaremos el proceso de extracción de datos usando Python y la biblioteca de Pandas. Si estás familiarizado con la instalación de entornos de desarrollo y bases de datos como Postgres, estarás un paso adelante, pero si no es así, no te preocupes. Aquí te brindamos una guía práctica y útil para sortear obstáculos y sacar el máximo provecho a tus datos.

¿Cómo configurar tu entorno de trabajo?

Antes de comenzar la extracción de datos, es fundamental preparar el entorno de trabajo. Según lo mencionado en la clase anterior, la creación de un ambiente, aunque a veces complicada, puede lograrse eficientemente con herramientas como Docker. Docker permite crear y configurar contenedores que alojan bases de datos como Postgres de manera sencilla.

Una vez instalado, se puede proceder a cargar scripts para inicializar tablas y preparar la carga de datos. Asegúrate de que los archivos CSV y JSON necesarios estén ubicados en las rutas correctas, lo que garantizará que la extracción posterior sea exitosa.

¿Qué herramientas utilizar?

En este tutorial, usaremos DataSpill de JetBrains, un entorno que, aunque no es gratis, ofrece licencias para estudiantes y brinda una plataforma robusta para trabajar con Python y Pandas. Sin embargo, los que prefieran, pueden optar por otros entornos, como Jupyter Notebooks, muy populares entre los analistas y científicos de datos.

¿Cómo iniciar la extracción de datos?

  1. Configura la conexión a la base de datos: Usaremos SQLAlchemy para gestionar la conexión a Postgres. Mediante createEngine, define la ruta de acceso a la base de datos utilizando el controlador PsychoPG2.

    from sqlalchemy import create_engine
    engine = create_engine('postgresql+psycopg2://username:password@localhost/database')
    

    Asegúrate de sustituir username, password y database con los valores correctos.

  2. Carga de datos con Pandas: Una vez establecida la conexión, utiliza Pandas para leer los datos directamente desde SQL.

    import pandas as pd
    df_trails = pd.read_sql('SELECT * FROM Trails', con=engine)
    

¿Cómo manejar archivos JSON y CSV?

Además de la base de datos, también trabajaremos con archivos en distintos formatos. Gracias a Pandas, la carga de estos documentos es sencilla y eficiente.

  1. Carga de archivos JSON:

    df_countries = pd.read_json('Sources/Country.json')
    
  2. Carga de archivos CSV:

    df_codes = pd.read_csv('Sources/hscode.csv')
    

¿Cómo estructurar y filtrar tus datos?

Una vez cargados los datos, el siguiente paso es organizarlos y filtrar la información relevante. Por ejemplo, para filtrar códigos de productos de nivel 2, se puede proceder de la siguiente manera:

df_patterns = df_codes[df_codes['Nivel'] == 2].copy()

Esta operación nos permite crear un conjunto de datos específico al nivel deseado, almacenándolo en df_patterns, listo para futuras manipulaciones y transformaciones.

¿Cuál es el siguiente paso?

Con los datos necesarios en tus manos, estás preparado para avanzar al siguiente nivel: la transformación de los datos. Este paso es crucial para limpiar, normalizar y preparar tus datos con miras a un análisis detallado. Usa este conocimiento recién adquirido como base sobre la cual comenzarás a construir tus modelos de análisis y generar insights valiosos.

Aprovecha al máximo estas herramientas, y no dudes en seguir explorando y aprendiendo. ¡La ciencia de datos es un campo lleno de posibilidades!