Tabla de contenido:

Panel de COVID19 en el mapa mundial (usando Python): 16 pasos
Panel de COVID19 en el mapa mundial (usando Python): 16 pasos

Video: Panel de COVID19 en el mapa mundial (usando Python): 16 pasos

Video: Panel de COVID19 en el mapa mundial (usando Python): 16 pasos
Video: ¿Cómo Crear un mapa de Casos de Coronavirus (COVID-19) con ArcGIS Desktop? 2024, Noviembre
Anonim
Panel de COVID19 en el mapa mundial (usando Python)
Panel de COVID19 en el mapa mundial (usando Python)

Sé que casi todos conocemos la mayor parte de la información sobre COVID19.

Y este instructivo trata sobre la creación de un mapa de burbujas, para trazar los datos en tiempo real (de casos) en el mapa mundial.

Para mayor comodidad, he agregado el programa al repositorio de Github:

github.com/backshell/COVID19dashboard

Suministros

No se requieren suministros como tal y haríamos todo el programa informático a través de GoogleColab Notebook. Entonces, una cuenta de Gmail debería ser suficiente para empezar.

Colab Notebooks / Colaboratory es un proyecto de investigación de Google creado para ayudar a difundir la educación y la investigación sobre el aprendizaje automático. Es un entorno de portátil Jupyter que no requiere configuración para su uso y se ejecuta completamente en la nube.

Y NO requiere instalación en su máquina.

Paso 1: comprensión del proceso de backend (base de datos)

La mayoría de los programas de software obtienen datos del backend y el resultado se formatea y publica en el front-end. Y para este programa en particular, necesitaríamos datos reales de COVID19.

El G. W. C. Whiting School of Engineering ha estado publicando las estadísticas de COVID19 a través de su cuenta de github:

github.com/CSSEGISandData

Desde el inicio hasta la fecha, las estadísticas nacionales de COVID19 se publican en el repositorio.

Por lo tanto, usaríamos los archivos con formato. CSV de ellos (segmentados por filas de países) y trazaríamos los datos en el mapa mundial.

Paso 2: Paquetes / bibliotecas de Python usados en el programa

A continuación se muestra la lista de paquetes y bibliotecas de Python que estaríamos usando. Permítanme darles una descripción general del propósito de cada uno de ellos.

numpy:

NumPy es una biblioteca para el lenguaje de programación Python, que agrega soporte para matrices y matrices grandes y multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar en estas matrices.

pandas:

pandas es una biblioteca de software escrita para el lenguaje de programación Python para la manipulación y el análisis de datos.

matplotlib.pyplot:

pyplot está diseñado principalmente para gráficos interactivos y casos simples de generación de gráficos programáticos

plotly.express:

Plotly Express es una nueva biblioteca de visualización de Python de alto nivel. Sintaxis simple para gráficos complejos.

folio:

folium facilita la visualización de datos que se han manipulado en Python en un mapa de folleto interactivo.

plotly.graph_objects:

El paquete plotly Python existe para crear, manipular y renderizar figuras gráficas (es decir, tablas, diagramas, mapas y diagramas) representadas por estructuras de datos también denominadas figuras.

marinero:

Seaborn es una biblioteca de visualización de datos de Python basada en matplotlib. Proporciona una interfaz de alto nivel para dibujar gráficos estadísticos atractivos e informativos.

ipywidgets:

ipywidgets son widgets HTML interactivos para cuadernos de Jupyter, JupyterLab y el kernel de IPython. Los cuadernos cobran vida cuando se utilizan widgets interactivos.

No es necesario instalar estos paquetes, ya que estaríamos trabajando este programa completamente en Google Colab Notebook (mantenlo como colab a lo largo de este instructivo).

Paso 3: Configuración de su unidad para usar Colab

Configuración de su unidad para utilizar Colab
Configuración de su unidad para utilizar Colab
Configuración de su unidad para utilizar Colab
Configuración de su unidad para utilizar Colab

En su unidad, cree una carpeta para sus cuadernos.

Técnicamente hablando, este paso no es totalmente necesario si solo desea comenzar a trabajar en Colab. Sin embargo, dado que Colab está trabajando fuera de su disco, no es una mala idea especificar la carpeta en la que desea trabajar. Puede hacerlo yendo a su Google Drive y haciendo clic en "Nuevo" y luego creando una nueva carpeta.

Luego, puede optar por crear un cuaderno de trabajo aquí o comenzar a trabajar directamente en el trabajo de laboratorio y vincular la carpeta en la unidad, que se creó para el trabajo de trabajo en grupo.

Esta es una buena práctica, de lo contrario, el colab que creamos puede verse desordenado en nuestro disco.

Paso 4: descripción general del programa

En este programa / cuaderno, estaríamos creando lo siguiente para COVID-19:

  • Lista de países por número de casos
  • Total de casos en un mapa mundial

Paso 5: Panel de control COVID-19 | Parte 1

Tablero de instrumentos COVID-19 | Parte 1
Tablero de instrumentos COVID-19 | Parte 1

Puede usar future para ayudar a portar su código de Python 2 a Python 3 hoy, y aún así ejecutarlo en Python 2.

Si ya tiene código Python 3, puede usar future para ofrecer compatibilidad con Python 2 casi sin trabajo adicional.

future admite la reorganización de la biblioteca estándar (PEP 3108) a través de uno de varios mecanismos, lo que permite acceder a la mayoría de los módulos de biblioteca estándar movidos con sus nombres y ubicaciones de Python 3 en Python 2.

Paso 6: Panel de control COVID-19 | Parte 2

Tablero de instrumentos COVID-19 | Parte 2
Tablero de instrumentos COVID-19 | Parte 2

La función interactuar (ipywidgets.interact) crea automáticamente controles de interfaz de usuario (UI) para explorar código y datos de forma interactiva. Es la forma más sencilla de empezar a utilizar los widgets de IPython.

Paso 7: Panel de control COVID-19 | Parte 3

Tablero de instrumentos COVID-19 | Parte 3
Tablero de instrumentos COVID-19 | Parte 3

display_html muestra las representaciones HTML de un objeto. Es decir, busca métodos de visualización registrados, como _repr_html_, y los llama, mostrando el resultado, si lo hay.

Paso 8: Panel de control COVID-19 | Parte 4

Tablero de instrumentos COVID-19 | Parte 4
Tablero de instrumentos COVID-19 | Parte 4

La lista de paquetes (como se explica en el paso 2) se importa al programa.

Paso 9: Panel de control COVID-19 | Parte 5

death_df = pd.read_csv ('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv')

confirm_df = pd.read_csv ('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')

recovery_df = pd.read_csv ('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv')

country_df = pd.read_csv ('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/web-data/data/cases_country.csv')

Como se explicó en el paso 1, leer los datos como archivo.csv del repositorio.

Paso 10: Panel de control COVID-19 | Parte 6

Tablero de instrumentos COVID-19 | Parte 6
Tablero de instrumentos COVID-19 | Parte 6

Cambiaremos el nombre de los nombres de las columnas df a minúsculas

Paso 11: Panel de control COVID-19 | Parte 7

Tablero de instrumentos COVID-19 | Parte 7
Tablero de instrumentos COVID-19 | Parte 7

Cambiaremos de provincia / estado a estado y de país / región a país

Paso 12: Panel de control COVID-19 | Parte 8

Tablero de instrumentos COVID-19 | Parte 8
Tablero de instrumentos COVID-19 | Parte 8

Calcularemos el número total de casos confirmados, fallecidos y recuperados.

Paso 13: Panel de control COVID-19 | Parte 9

Tablero de instrumentos COVID-19 | Parte 9
Tablero de instrumentos COVID-19 | Parte 9
Tablero de instrumentos COVID-19 | Parte 9
Tablero de instrumentos COVID-19 | Parte 9

Mostraremos las estadísticas totales en formato HTML, ya que importamos bibliotecas específicas en el paso 7 anteriormente como se muestra a continuación:

desde la pantalla de importación IPython.core.display, HTML

Paso 14: Lista de países (Top10) por número de casos | Tablero COVID-19

Lista de países (Top10) por número de casos | Tablero COVID-19
Lista de países (Top10) por número de casos | Tablero COVID-19
Lista de países (Top10) por número de casos | Tablero COVID-19
Lista de países (Top10) por número de casos | Tablero COVID-19

fig = go. FigureWidget (diseño = go. Layout ())

La función FigureWidget devuelve un objeto FigureWidget vacío con los ejes xey predeterminados. Los widgets interactivos de Jupyter tienen un atributo de diseño que expone una serie de propiedades CSS que influyen en la disposición de los widgets.

pd. DataFrame

crea un marco de datos usando un diccionario, con fondos de tres colores para que el resultante se complete.

def show_latest_cases (ARRIBA)

ordena los valores por orden descendente confirmado.

interactuar (show_latest_cases, TOP = '10 ')

La función interactuar (ipywidgets.interact) crea automáticamente controles de interfaz de usuario (UI) para explorar código y datos de forma interactiva.

ipywLayout = widgets. Layout (borde = 'verde sólido 2px')

crea un borde con líneas de color verde de 2px de ancho, para que se muestre el resultado.

Paso 15: Total de casos en un mapa mundial | Tablero COVID-19

Total de casos en un mapa mundial | Tablero COVID-19
Total de casos en un mapa mundial | Tablero COVID-19
Total de casos en un mapa mundial | Tablero COVID-19
Total de casos en un mapa mundial | Tablero COVID-19

world_map = folium. Map (ubicación = [11, 0], tiles = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)

Folium es una herramienta que te hace ver como un Dios de mapeo mientras todo el trabajo se hace en el back-end. Es una envoltura de Python para una herramienta llamada leaflet.js. Básicamente le damos instrucciones mínimas, JS hace mucho trabajo en segundo plano y obtenemos algunos mapas muy, muy interesantes. Es un gran material. Para mayor claridad, el mapa se denomina técnicamente "Mapa de folletos". La herramienta que le permite llamarlos en Python se llama 'Folium'.

Folium facilita la visualización de datos que se han manipulado en Python en un mapa de folletos interactivo. Permite tanto la vinculación de datos a un mapa para visualizaciones de coropletas como el paso de visualizaciones de Vincent / Vega como marcadores en el mapa.

para i en el rango (0, len (confirmado_df))

En un bucle for, obtendremos todos los casos confirmados de la formulación del paso 9.

folio Círculo

Creamos un mapa de burbujas usando folium. Circle () para agregar círculos iterativamente.

ubicación = [confirmado_df.iloc ['lat'], confirmado_df.iloc ['largo'], a partir del archivo_df confirmado de casos confirmados del paso 5, extraemos los valores de latitud y longitud correspondientes a los datos de cada ubicación / país.

radio = (int ((np.log (confirmado_df.iloc [i, -1] +1.00001))) + 0.2) * 50000, creando un objeto de radio para trazar los círculos de burbujas en el mapa mundial a través de los países.

color = 'rojo', fill_color = 'índigo', haciendo que el contorno del círculo de la burbuja sea rojo y el área interior como índigo.

y finalmente trazar los círculos en el mapa_mundo usando el objeto de información sobre herramientas.

Paso 16: ¡El resultado

¡El resultado!
¡El resultado!
¡El resultado!
¡El resultado!

El archivo adjunto muestra:

  1. Lista de países por número de casos
  2. Total de casos en un mapa mundial

Recomendado: