"Era mi primer día como analista de datos en una pequeña y acogedora empresa, de esas con sillas de oficina desparejadas y una cafetera más vieja que yo". Así comienza a relatar su historia Daniel Builescu, recién graduado en ese momento en un máster en Ciencias de Datos.
El primer reto que le asignó su jefe fue el de extraer información valiosa de una maraña de datos contenida en hojas de cálculo de Excel tan anticuadas como desordenadas:
"Me sonrió y dijo 'Necesitamos información de estos datos de ventas. ¡Bienvenido a bordo!'. [...] Abrí la hoja de cálculo y me encontré con una monstruosidad pixelada llena de números".
El desafío. De las tablas dinámicas a la limpieza de datos
La primera tarea. Durante la primera semana, el nuevo analista de datos pasó sus días inmerso en funciones de búsqueda y tablas dinámicas interminables. Sin embargo, el verdadero reto surgió cuando le asignaron la creación de un informe esencial para la estrategia de la empresa.
"La hoja de cálculo era un laberinto: pestañas que referenciaban celdas codificadas por colores con fórmulas crípticas que nadie, ni siquiera mi predecesor, entendía completamente"
La actualización de esta hoja requería una precisión quirúrgica, ya que un solo error podría provocar el colapso de toda la estructura. Así que, desesperado por encontrar una solución más eficiente, el analista recordó sus estudios de Python y decidió probar suerte con Pandas, una poderosa biblioteca para el análisis de datos.
Con algo de ensayo y error, escribió un sencillo script que importaba los datos de Excel, creaba una tabla dinámica y generaba un nuevo informe, todo en cuestión de segundos. Así, la tarea que antes tomaba días se resolvía ahora en un abrir y cerrar de ojos:
"[El código] era… simple, casi risible. Presioné ejecutar, con el corazón latiendo rápido. Apareció una nueva hoja de cálculo, limpia, legible y, lo más importante, precisa".
La segunda tarea. Su siguiente misión fue lidiar con las direcciones de los clientes, que presentaban múltiples formatos inconsistentes, como "123 Main St," "123 Main Street" y "123 Main St. (Apt 402)". Arreglar estos datos manualmente era una tarea tediosa y repetitiva... hasta que Builescu decidió utilizar expresiones regulares en Python para automatizar el proceso de limpieza de direcciones.
Tercera (y última tarea). El jefe del analista tenía una predilección por los gráficos de pastel generados por Excel, a menudo difíciles de interpretar debido a su complejidad y diseño anticuado: así, por ejemplo, un informe específico requería visualizar las tendencias de ventas por región, pero los gráficos generados en Excel eran confusos y poco útiles.
Decidido a mejorar la situación, el analista recurrió a Matplotlib, otra biblioteca de Python:
"Hice todo lo posible para dominar el asistente de gráficos de Excel, pero decidí que ya era suficiente. Y recordé esos gráficos, limpios y hermosos, de mis tutoriales de Python".
Más útil de lo que parecía
Tras varias semanas de pequeñas victorias, el analista se sintió lo suficientemente confiado como para presentar sus soluciones a su jefe. Aunque inicialmente escéptico, al presenciar cómo las tareas complejas se resolvían en minutos gracias a Python, su actitud cambió de la burla a la curiosidad:
"—Oye, creo que he encontrado una forma más rápida de manejar esos informes... verás, he usado algo llamado Python...".
"—Jajaja. Mira, aprecio tu iniciativa, pero eso de programar lleva una eternidad. Limítate a usar Excel, ya le cogerás el truco".
"—¿Y qué tal si te lo enseño? Sólo me llevará dos minutos".
(Saqué mis scripts, presioné 'ejecutar' y boom: datos limpios).
—"…Uh. Bueno, tal vez sea más útil de lo que pensaba".
Builescu reconoce que su jefe tampoco se convirtió de repente en un entusiasta de Python; tampoco recurrir a Python reemplazó la necesidad de usar intensivamente Excel en su nueva empresa... pero sí se convirtió en una herramienta de referencia a la hora de automatizar tareas tediosas y mejorar la calidad de los informes.
Vía | Daniel Builescu
Imagen | Marcos Merino mediante IA
En Genbeta | Estas son las razones por las que muchos programadores están empezando a aprender Python
Ver 6 comentarios