Transformación de datos de países

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

Resumen

¿Cómo transformamos y limpiamos datos de países en ETL?

En el ámbito de transformación de datos, las ETL (Extracción, Transformación y Carga) permiten mejorar la calidad y la coherencia de los datos antes de utilizarlos para análisis. Hoy exploraremos cómo transformar y limpiar los datos relacionados con países, y cómo integrar esta información en DataFrames para enriquecer el análisis.

¿Cómo creamos un identificador único para los registros?

Un paso crucial en la organización de datos es la asignación de identificadores únicos. Este proceso garantiza que cada registro sea distinto y fácil de identificar en un dataset extenso. Aquí se realizó de la siguiente manera:

df_codes['id_code'] = df_codes.index + 1
  • Asignación de índice: Se utiliza el índice del DataFrame incrementado en uno para evitar problemas cuando los índices comienzan desde cero.
  • Conversion a entero: Transformamos los códigos a un formato numérico, asegurando el uso de enteros de 64 bits para mantener la consistencia.

¿Cómo limpiamos los datos de países?

Una vez que tenemos identificadores únicos, se aborda la limpieza de datos para garantizar que solo la información relevante se retenga:

  1. Selección de columnas importantes: De un dataset de países, se seleccionan las columnas como alfa3, country, región y subregión que son relevantes para el análisis.
  2. Filtrado de datos nulos: Los registros donde alfa3 es nulo se eliminan ya que esta columna es fundamental para cruce de datos.
df_countries = df_countries[['alfa3', 'country', 'region', 'subregion']]
df_countries = df_countries[df_countries['alfa3'].notnull()]

¿Cómo realizamos un merge de DataFrames en Postgres?

Para una integración efectiva, se llevó a cabo el merge entre los DataFrames de productos y países con los datos de transacciones, utilizando pandas.merge. Esto permite enriquecer información e interrelacionar datasets.

df_trace_clean = df_trace.merge(
  df_codes[['cleanCode', 'id']],
  how='left',
  left_on='comCode',
  right_on='cleanCode'
)
  • Merge de productos: Utilizando cleanCode y id para sincronizar códigos.
  • Merge de países: Similarmente, las columnas alfa3 e idCountry son cruciales.

La clave está en utilizar un left join para combinar los DataFrames, asegurando que todos los valores de df_trace se mantengan, y ubicando información relevante adicional desde los DataFrames de códigos y países.

¿Por qué es importante enriquecer los registros?

El enriquecimiento de datos es esencial para mejorar la calidad de los análisis posteriores. En este caso, tener identificadores únicos y filtrar registros relevantes permite:

  • Asociar cada transacción a un producto y un país específico.
  • Acceder a información enriquecida como el nombre del país, región, subregión y la categoría de los productos.
  • Facilitar consultas y análisis más profundos y precisos.

La transformación y limpieza de datos es un paso fundamental para refinar y preparar datasets antes de cualquier análisis avanzado. Esta técnica respalda la toma de decisiones informada basada en datos estructurados y accesibles. Continúa aprendiendo sobre técnicas avanzadas de ETL y cómo pueden optimizar tus procesos de análisis de datos. ¡Adelante y sigue transformando los datos en valor!