¿Cómo limpiar datos de un proyecto de transparencia pública?
Enfrentar la limpieza de datos es un paso inevitable y esencial para cualquier profesional de Data Science. Es un desafío constante con el que te cruzarás a lo largo de tu carrera, así que ¡mejor disfrutarlo! En este artículo, trabajaremos con datos provenientes del municipio de Monterrey y utilizaremos herramientas como Python, Pandas y Jupyter Notebook para llevar a cabo este proceso.
¿Cómo comenzamos con la preparación del entorno?
Lo primero es contar con el entorno adecuado para el procesamiento de datos. Aquí tienes algunas opciones:
- Jupyter Notebook: Ideal si estás usando Anaconda o una instalación estándar de Python.
- Google Colab: Una excelente alternativa si prefieres trabajar en la nube sin configurar un entorno local.
Después de seleccionar tu entorno, crea una carpeta llamada notebooks
y dentro de ella inicia un archivo de texto para registrar las librerías necesarias, facilitando la replicación del proyecto en el futuro.
¿Por qué organizar la información en Pandas?
La organización es clave para mantener un flujo de trabajo ordenado. Iniciamos importando las librerías necesarias:
import pandas as pd
import os
Con Pandas, cargaremos las hojas de cálculo que contienen los datos necesarios. Para ello, utilizamos la función read_excel
, especificando las hojas requeridas como “gastos varios”, “servicios profesionales”, “comunicación” y “servicios personales”.
Cada hoja se carga en un DataFrame
separado, permitiendo un manejo más controlado de la información:
df_gastos_varios = pd.read_excel('ruta_del_archivo.xlsx', sheet_name='Gastos Varios', skiprows=5)
df_serv_prof = pd.read_excel('ruta_del_archivo.xlsx', sheet_name='Servicios Profesionales', skiprows=5)
¿Cómo simplificar el manejo repetitivo de datos?
Si notas acciones repetitivas durante la carga y el procesamiento de datos, valdría la pena crear funciones para simplificar y automatizar el proceso, aunque inicialmente optamos por manejar cada hoja manualmente por la baja cantidad de observaciones.
¿Cómo concatenamos los datos en un solo lugar?
Una vez que hemos cargado todas las hojas necesarias, es momento de unificarlas en un solo DataFrame
:
df_completo = pd.concat([df_gastos_varios, df_serv_prof, df_comunicacion, df_personales], ignore_index=True)
¿Cómo limpiamos datos sucios o innecesarios?
Uno de los principales retos durante la limpieza de datos es identificar las filas innecesarias, como aquellos totales que suelen encontrarse en ciertas hojas de cálculo. Usamos dropna()
de Pandas para eliminar filas que contengan datos faltantes:
df_completo = df_completo.dropna(how='any')
Esto reduce el conjunto de datos a las entradas realmente válidas.
¿Cómo verificamos la limpieza de datos y tipos de información?
Verificar que los datos estén con el tipo apropiado es crucial para evitar errores en el análisis:
print(df_completo.dtypes)
Verifica también que los meses correspondan al periodo de estudio para confirmar la calidad de los datos. En este caso, confirmamos que todos los registros pertenecen al mes de diciembre.
¿Cómo almacenamos el conjunto de datos limpio?
Guardamos el conjunto de datos procesado y limpio en un formato legible y común como CSV:
df_completo.to_csv('data_clean_compras.csv', index=False)
Ahora, tu conjunto de datos está listo para análisis futuros. Continúa explorando y modelando la información, abordando cualquier reto que se presente, y comparte tus experiencias con otros aprendices de Data Science. ¡El descubrimiento de conocimientos está a un paso más cerca!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?