¿Te ha pasado alguna vez que quieres analizar un archivo de excel con información presupuesta, que tiene muchas filas, y se empieza a poner lento? entonces este episodio te interesará.
Pandas es una herramienta para Análisis de Datos gratuita y muy poderosa, y en esta ocasión quiero mostrarles los pasos que he seguido para analizar un conjunto de datos ficticio, el cual para efectos didácticos no tiene mucha información, pero nos da una idea de lo que podemos hacer con Pandas.
Cabe mencionar que en casos cuando el archivo a analizar tenga una cantidad grande de filas (1 millón o más) entonces Pandas sigue siendo una excelente herramienta (mejor que excel) para Analizar y Graficar los datos.
PASO 1. IMPORTAR LAS LIBRERIAS NECESARIAS
El primer paso es escribir un código fijo para importar a nuestro entorno de Jupyter Notebook las librerías de Pandas, Matplotlib, Seaborn.
PASO 2. IMPORTAR EL ARCHIVO CSV
Con el siguiente código vamos a importar el archivo Excel (debe estar en formato CSV) a nuestro cuaderno de trabajo.
• Utilizamos la función de pandas «pd.read_csv»; Podemos importar un archivo, o varios archivos y después juntarlos. Para efectos de este primer ejemplo, vamos a importar solamente un archivo sencillo.
• Cabe mencionar que Pandas tiene capacidad para manejar archivos mucho muy grandes, más grandes que los que puede manejar excel.
PASO 3. OBTENER VISTA PREVIA
• Con el método df.info( ) podemos visualizar las filas que se han importado, y también el detalle de las columas que se importaron, si tienen valores en blanco, y el tipo de dato.
• En este caso se importaron ocho columnas: Programa, Eje, Nombre del Programa, Tipo, Unidad Responsable, Modificado, Ejercido, Avance
financiero y Avance físico.
PASO 4. VISTA PREVIA
• Usando el método df.head( ) podemos obtener una vista previa de los primeros 5 renglones de nuestro dataframe o conjunto de datos, observando el título de las columnas y los primeros 5 renglones.
• El Total del presupuesto lo obtenemos sumando todas las filas de la columna «EJERCIDO»: $ 68 millones.
PASO 5. COMENCEMOS DANDO UNA VISTA DE LO GENERAL A LO PARTICULAR. ASI QUE COMENCEMOS ANALIZANDO LA INFORMACIÓN POR EJE.
• Vamos a hacer una tabla reducida de la original, que solamente contenga la información resumida por EJE.
• Entonces «agrupamos» la información por la columna del EJE, y pedimos que nos de una suma del Monto ejercido, y un Promedio en las columnas de Avance financiero y físico.
• El Monto Ejercido total es de 68 millones y su distribucion por eje:
• Economico: Ejercido 22 millones | Promedio de avance financiero: 70.75 % | Promedio de avance físico: 55.25 %
• Social: 42 millones | Promedio de avance financiero: 71.22 % | Promedio de avance físico: 55.44 %
• Juridico: 3 millones | Promedio de avance financiero: 17.33 % | Promedio de avance físico: 74.00 %
• El eje de Desarrollo social es el que tiene mayor monto Ejercido con 42 millones que representa el 62% con respecto al monto ejercido total de los tres ejes.
• Tanto el Eje de Desarrollo Económico como el Eje de Desarrollo Social presentan un porcentaje de avance financiero y físico similar, mientras que el tercer eje presenta muy bajo avance en porcentaje de avance financiero pero un muy alto porcentaje en el avance físico.
PASO 6. ANALIZAR MONTO EJERCIDO POR PROGRAMA
• Con el método de groupby podemos hacer grupos de información e indicar que nos sume los valores de cierta columna. En este ejemplo, estamos pidiendo que agrupe la información por PROGRAMA y que sume las celdas de EJERCIDO; y que los ordene por nombre de programa.
PASO 7. GRAFICAR MONTO EJERCIDO POR PROGRAMA
• Con la librería Matplotlib podemos graficar esta información y veremos que los 3 Programas con mayor gasto ejercido son:
• Apoyos para desarrollo social – 13 millones
• Lucha contra el cambio climatico – 9 millones
• Reactivacion de economia municipal – 7 millones
PASO 8. MONTO EJERCIDO POR UNIDAD RESPONSABLE
• Ahora también podemos hacer una tabla pero ahora agrupada por UNIDAD RESPONSABLE, y que también nos sume las celdas del EJERCIDO. Y
que nos ordene la lista por nombre de Unidad Responsable.
PASO 9. Y TAMBIÉN PODEMOS GRAFICAR EL RESULTADO.
Las tres dependencias con mayor gasto ejercido
• Desarollo social
• Desarrollo economico
• Proteccion al medio ambiente
PASO 10. EN ESTA GRÁFICA CON INFORMACIÓN FICTICIA, PODEMOS VER QUE LA UR CON MÁS RECURSO EJERCIDO ES DESARROLLO SOCIAL.
• Entonces nos podemos preguntar ¿CUANTOS PROGRAMAS HAY EN LA UR DE DESARROLLO SOCIAL?
PASO 11. GRAFICO DE LOS 4 PROGRAMAS DE DESARROLLO SOCIAL
• Podemos ahora hacer un gráfico tipo Pastel para visualmente conocer los 4 programas de esa UR y qué proporción tiene cada uno.
• Apoyos para desarrollo social
• Apoyos zonas marginadas
• Apoyo para jóvenes
• Apoyo para artes escénicas
PASO 12. MOSTRAR EL PORCENTAJE DE AVANCE FINANCIERO Y AVANCE FISICO EN PROMEDIO DE TODAS LAS DEPENDENCIAS.
• Ahora vamos a sacar una tabla donde me diga la Unidad Responsable y sus promedios de Avances Financieros y Avances Fisicos.
• Por ejemplo, si una Unidad Responsable tiene mas de un programa, esta tabla me dara el promedio de sus avances financieros y fisicos (ejemplo
Desarrollo Economico).
• Despues vamos a graficar esta tabla. El siguiente gráfico está buenísimo. Vamos a graficar todas las dependencias y sus avances financiero y
avances físicos (recordemos que son datos ficticios).
PASO 13. Tambien podemos hacer una grafica tipo mapa de calor para ver
visualmente por dependencias sus avances fisico y financieros comparados con las demas.
• Con este tipo de grafica podemos saber por ejemplo, que la Casa de la cultura tiene un muy buen avance financiero, pero muy poco avance fisico.
• O por ejemplo, la Direccion de Seguridad Publica tiene poco avance financiero pero muy buen avance fisico de metas.
• Recalco que estos son datos ficticios.
• Y que por ejemplo Tesoreria tiene muy buenos avances tanto financieros como fisicos.
CONCLUSIÓN
EN CONCLUSION, PODEMOS DECIR QUE JUPYTER NOTEBOOK, USANDO LA LIBRERIA DE PANDAS Y MATPLOTLIB ES UNA EXCELENTE OPCION PARA ANALIZAR INFORMACION.
• EN ESTE CASO USAMOS UN GRUPO DE DATOS PEQUEÑO, PERO ESTA HERRAMIENTA ESTA PENSADA PARA ANALIZAR ARCHIVOS
CON MAS DE 1 MILLON DE FILAS, PROXIMAMENTE HARE UN EJERCICIO CON UN ARCHIVO DE ESTE TIPO PARA QUE VEAN EL
DESEMPEÑO DE ESTA HERRAMIENTA.
Si tienes alguna duda o pregunta, puedes contactarnos en el siguiente enlace: Contactar.
Muchas gracias por la información, como siempre compartiendo herramientas de utilidad.
Saludos!
Excelente, estamos a la orden Contadora Julieta,
Saludos!
-Isaac