Un tutorial para principiantes en Python en el manejo y visulización de datos.
P ython es un lenguaje muy versatil que permite manejar datos y hacer visualizaciones de todo tipo. Si eres nuevo te recomiendo descargar el paquete de Anaconda y utilizar Jupyter como procesador de texto para ir viendo las gráficas a medida vas escribiendo el código.
Primero importaremos las librerías que necesitamos para trabajar la información. Utilizaremos Pandas que es una librería para manejar datos, especialmente dataframes y series. Esta librería viene integrada con Anaconda. La segunda librería que utilizaremos es Geopandas, esta nos permite trabajar archivos llamados shapefile, que contienen las formas y georeferencias que se utilizaremos para graficar los mapas. La ventaja de Geopandas que integra las funciones de Pandas.
Usualmente esta librería no viene integrada al instalar Anaconda. Sin embargo, puede ser fácilmente instalada con tan solo correr en una celda de Jupyter el siguiente código:
Descargaremos el shapefile (el mapa) de la página oficial del gobierno de El Salvador que contiene los limites políticos de los municipios . Para este ejercicio podemos usar tanto el archivo Lambert o WGS. Abriremos el archivo en Jupyter:
Abriremos luego los datos para colorear el mapa, para este ejemplo he descargado el número de accidentes viales por municipio de esta página web: Portal de Transparencia de la Policía Nacional Civil .
Luego se debe unir la información a través de un merge. Al observar la información notamos que las llaves será el nombre del municipio (parte importante sería preparar la información para asegurarnos que los municipios tienen los mismos nombres, en el ejercicio asumiremos que sí).
Usar Geopandas es sumamente fácil y está bastante bien integrado con Matplotlib. Necesitamos para hacer un simple mapa escribir .plot(column = ‘variable’).
Podemos continuar añadir atributos al mapa para que se vea mejor como una legenda horizontal y con una barra de color de distintos niveles de Naranjas (‘Oranges’).
Debido a que gran parte de los choques se concentran en algunas zonas específicas los colores más intensos se encuentran en unos pocos municipios mientras no se logra ver diferencia en el resto. Una idea para cambiar esto, es recodificar la variable como su logaritmo.
Al correr nuevamente nuestro código anterior tendríamos un gráfico como el siguiente:
Para mejorar muchas de las características del mapa se puede usar matplotlib. Esto nos permitirá ajustar mejor la barra de color, el tamaño del mapa, modificar ejes, entre otras cosas.
Si continuamos con el ejemplo, matplotlib nos permite ajustar la barra de color para que la legenda muestre una escala logarítmica.
En algunos casos nos interesaría colorear el mapa con valores categóricos. Para ello, dividiremos nuestra variable ‘CHOQUE’ en cuartiles a través de pandas.cut: