Transformación de datos de países
Clase 10 de 25 • Curso 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:
- Selección de columnas importantes: De un dataset de países, se seleccionan las columnas como
alfa3
,country
,región
ysubregión
que son relevantes para el análisis. - 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
yid
para sincronizar códigos. - Merge de países: Similarmente, las columnas
alfa3
eidCountry
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!