Ir al contenido principal

¡Rescatando un CSV Rebelde! 🏴‍☠️📊

 


“Un gran poder conlleva… un gran desorden de datos.”
— Yo, después de abrir mi primer dataset real.


1. El reto

Ayer descargué un archivo CSV sobre consumo energético en Latinoamérica.
Sonaba épico… hasta que lo abrí:

  • Encabezados en MAYÚSCULAS, minúsculas y SpOnGe CaSe.

  • Fechas mezcladas: 2025-04-01, 04/01/2025, 1-abr-25.

  • Celdas vacías, guiones, “N/A”, e incluso un “¯_(ツ)_/¯”.

Bienvenido al caos.


2. Mi plan de ataque

Paso¿Por qué?Herramienta
1. Hacer una copia del archivoEvitar “auto-destrucción” accidentalCarpeta /raw
2. Inspección rápida con head()Saber a qué monstruo me enfrentoPython / pandas
3. Estandarizar nombres de columnasQue todo hable el mismo idiomadf.columns = ... .str.lower()
4. Uniformar fechasSin fechas limpias, no hay análisispd.to_datetime()
5. Manejar valores faltantesPorque los huecos no se rellenan solosfillna() / eliminación selectiva

6. Validar tipos de datos
Evitar sorpresas en gráficas y modelosdf.dtypes







4. Lo que aprendí (y ojalá hubiera sabido antes)

  1. Nunca confíes en un CSV a ciegas.

  2. Documenta cada modificación: tu yo del futuro te lo agradecerá.

  3. El parámetro errors='coerce' en to_datetime es un salvavidas.

  4. Un notebook limpio > 1000 líneas de código suelto.

  5. Café ☕ + música lo-fi = tu mejor combo de limpieza de datos.


5. Blooper del día 😅

Intenté reemplazar “N/A” con df.replace("N/A", np.nan)
…sin importar la ñ mayúscula en “N/Á”.
Moraleja: activa case=False o normaliza texto primero.


6. Reto para la comunidad

Descarga cualquier dataset “feo”, aplica los pasos y comparte en los comentarios:

  • 👉 ¿Cuál fue el problema más extraño que encontraste?

  • 👉 ¿Cuántas filas “reviviste” después de limpiar?

Los mejores relatos saldrán en la próxima entrada (con meme incluido).


7. Próximo episodio

¡Visualizaciones sin dolor!
Veremos cómo convertir esos datos ya limpios en gráficas dignas de Instagram… sin que Matplotlib se ponga celoso de Seaborn





Comentarios