Visualización de datos con Python y Matplotlib
Crea gráficos para comunicar y entender mejor los resultados
Llevo ya un tiempo formándome en Python y en SQL y desde el principio me han parecido unas herramientas espectaculares para el manejo de datos. Pero en cuanto probé la librería Matplotlib, eso ya era otro nivel. Que con 3 líneas de código puedas representar gráficamente los datos parece hecho por arte de magia.
Y es que a la hora de analizar datos es tan importante la parte técnica como la de comunicación, y matplotlib es perfecto para ello. Con esta librería podemos mostrar y explicar de manera gráfica los hallazgos de nuestro análisis.
Pero antes de meternos de lleno con matplotlib, es muy importante preparar la muestra que vamos a analizar. Por ello, puede que te interese ver primero el siguiente artículo, en el que comento algunos pasos para limpiar los datos antes de ponerse a analizarlos.
Introducción
Como mencioné al principio, Matplotlib es una librería para Python muy potente que permite visualizar de manera gráfica los datos de una muestra. Con él podremos realizar todo tipo de gráficos, desde los más sencillos, como un diagrama de barras, hasta gráficos más complejos como los de dispersión.
Y para ver cómo funciona, qué mejor que con un ejemplo. En este caso, para poner en práctica el potencial de esta librería, tenía curiosidad por ver algunas estadísticas de la última encuesta a desarrolladores llevada a cabo por Stack Overflow. En cuanto al código utilizado en este artículo, puedes verlo en el siguiente enlace a mi Github.
Crear gráficos con Matplotlib
Una vez ya tengamos los datos limpios y bien estructurados, ya podremos comenzar a aplicar la magia de Matplotlib.
Cuando vi esta encuesta, me surgieron algunas curiosidades con las que podría empezar a trastear en la tabla. ¿será verdad que en EEUU utilizan más los Mac que en España? ¿Cuánta gente de mi edad es programadora? Así que para ver cómo funciona, vamos a responder a las siguientes preguntas con gráficos hechos en Matplotlib:
¿Qué países tienen los mejores salarios?
¿Cómo son los sueldos en Europa?
¿Qué sistemas operativos usan en EEUU y en España?
Distribución de edades entre los programadores.
Relación entre formación y salario.
¿Qué países tienen los mejores salarios?
Para representarlo, podemos empezar creando un DataFrame nuevo con las columnas de “país” y “sueldo anual”. Quitamos las filas con valores nulos y después el resultado lo agrupamos por países y calculamos la media de cada uno. Por último solo faltará ordenarlo de mayor a menos.
¿Cómo son los sueldos en Europa?
Para esto lo más fácil es crear primero una lista con los países de Europa. Después, al igual que antes, creamos un DataFrame en el que agrupamos por países y calculamos la media. Finalmente, con la función .isin() seleccionamos la media para los países de la lista.
¿Qué sistemas operativos usan en EEUU y en España?
Esta parte tiene un poquito más de código, mejor míralo desde el original en Github. En este caso, una manera de hacerlo puede ser creando un DataFrame con las columnas “país“ y “sistema operativo“. Dentro de sistema operativo hay varias opciones, pero hay 3 que representan el 95% de la muestra, así que usaremos esas 3.
Antes de hacer el gráfico, lo que se puede hacer es un pequeño DataFrame para cada unas de las opciones, por ejemplo, para España y sistema operativo Windows.
Después solo quedaría representarlo. En este caso utilizando un gráfico circular, el cual nos da muchas opciones de personalización.
Distribución de edades entre los programadores.
En este caso, ayudándonos de la función .value_counts() podemos contar las veces que aparece cada grupo de edad en la tabla. Después creamos una lista y utilizando .values metemos en ella el número de veces que aparece cada grupo. Luego solo quedaría representarlo.
Relación entre formación y salario.
En la línea con lo anterior, crearíamos un DataFrame con la columna “formación” y “salario anual”. Lo agrupamos en función de la formación y le calculamos la media para cada grupo.







