Sommario:

Dashboard COVID19 sulla mappa del mondo (usando Python): 16 passaggi
Dashboard COVID19 sulla mappa del mondo (usando Python): 16 passaggi

Video: Dashboard COVID19 sulla mappa del mondo (usando Python): 16 passaggi

Video: Dashboard COVID19 sulla mappa del mondo (usando Python): 16 passaggi
Video: The Tunnels Below | Critical Role | Campaign 3, Episode 15 2024, Dicembre
Anonim
Dashboard COVID19 sulla mappa del mondo (usando Python)
Dashboard COVID19 sulla mappa del mondo (usando Python)

So che quasi tutti noi conosciamo la maggior parte delle informazioni sul COVID19.

E questo istruibile riguarda la creazione di una mappa a bolle, per tracciare i dati in tempo reale (dei casi) sulla mappa del mondo.

Per maggiore comodità, ho aggiunto il programma al repository Github:

github.com/backshell/COVID19dashboard

Forniture

Non sono necessarie forniture in quanto tali e faremmo l'intero programma per computer tramite GoogleColab Notebook. Quindi un account Gmail dovrebbe essere sufficiente per cominciare.

Colab Notebooks/Colaboratory è un progetto di ricerca di Google creato per aiutare a diffondere l'istruzione e la ricerca sull'apprendimento automatico. È un ambiente notebook Jupyter che non richiede alcuna configurazione per essere utilizzato e viene eseguito interamente nel cloud.

E NESSUNA installazione richiesta nella tua macchina.

Passaggio 1: Comprensione del processo di backend (database)

La maggior parte di tutti i programmi software recupera i dati dal back-end e il risultante viene formattato e pubblicato nel front-end. E per questo particolare programma, avremmo bisogno di dati reali sul COVID19.

Il G. W. C. Whiting School of Engineering ha pubblicato le statistiche COVID19 attraverso il suo account github:

github.com/CSSEGISandData

Dall'inizio alla data, le statistiche relative al paese COVID19 sono pubblicate nel repository.

Quindi useremmo i file in formato. CSV di loro (segmentati per riga di paesi) e tracciaremmo i dati sulla mappa del mondo.

Passaggio 2: pacchetti/librerie Python utilizzati nel programma

Di seguito è riportato l'elenco dei pacchetti e delle librerie Python che utilizzeremmo. Permettetemi di dare una panoramica dello scopo di ciascuno di essi.

insensibile:

NumPy è una libreria per il linguaggio di programmazione Python, che aggiunge il supporto per array e matrici di grandi dimensioni e multidimensionali, insieme a un'ampia raccolta di funzioni matematiche di alto livello per operare su questi array.

panda:

pandas è una libreria software scritta per il linguaggio di programmazione Python per la manipolazione e l'analisi dei dati.

matplotlib.pyplot:

pyplot è principalmente destinato a grafici interattivi e semplici casi di generazione di grafici programmatici

plotly.express:

Plotly Express è una nuova libreria di visualizzazione Python di alto livello. Sintassi semplice per grafici complessi.

foglio:

folium semplifica la visualizzazione dei dati che sono stati manipolati in Python su una mappa interattiva.

plotly.graph_objects:

Il pacchetto plotly Python esiste per creare, manipolare e rendere figure grafiche (cioè grafici, grafici, mappe e diagrammi) rappresentate da strutture di dati chiamate anche figure.

nato dal mare:

Seaborn è una libreria di visualizzazione dati Python basata su matplotlib. Fornisce un'interfaccia di alto livello per disegnare grafici statistici interessanti e informativi.

ipywidget:

ipywidgets sono widget HTML interattivi per i notebook Jupyter, JupyterLab e il kernel IPython. I taccuini prendono vita quando vengono utilizzati i widget interattivi.

L'installazione di questi pacchetti non è necessaria poiché lavoreremmo con questo programma interamente in Google Colab Notebook (conserviamolo come colab in questo tutorial).

Passaggio 3: configurazione dell'unità per utilizzare Colab

Configurazione dell'unità per utilizzare Colab
Configurazione dell'unità per utilizzare Colab
Configurazione dell'unità per utilizzare Colab
Configurazione dell'unità per utilizzare Colab

Nel tuo Drive, crea una cartella per i tuoi taccuini.

Tecnicamente parlando, questo passaggio non è del tutto necessario se vuoi iniziare a lavorare in Colab. Tuttavia, poiché Colab sta lavorando fuori dal tuo disco, non è una cattiva idea specificare la cartella in cui vuoi lavorare. Puoi farlo andando su Google Drive e facendo clic su "Nuovo" e quindi creando una nuova cartella.

Quindi puoi scegliere di creare colabnotebook qui o iniziare a lavorare direttamente in colab e collegare la cartella nell'unità, che è stata creata per il lavoro in colab.

Questa è una buona pratica, altrimenti la collaborazione che creiamo potrebbe sembrare disordinata nel nostro disco.

Fase 4: Panoramica del programma

In questo programma/taccuino, creeremmo quanto segue per COVID-19:

  • Elenco dei paesi per numero di casi
  • Casi totali su una mappa del mondo

Passaggio 5: dashboard COVID-19 | Parte 1

Cruscotto COVID-19 | Parte 1
Cruscotto COVID-19 | Parte 1

Puoi usare future per aiutarti a trasferire il tuo codice da Python 2 a Python 3 oggi e farlo funzionare ancora su Python 2.

Se disponi già di codice Python 3, puoi invece utilizzare future per offrire la compatibilità con Python 2 quasi senza lavoro aggiuntivo.

future supporta la riorganizzazione della libreria standard (PEP 3108) tramite uno dei numerosi meccanismi, consentendo l'accesso alla maggior parte dei moduli della libreria standard spostati con i loro nomi e posizioni Python 3 in Python 2.

Passaggio 6: dashboard COVID-19 | Parte 2

Cruscotto COVID-19 | Parte 2
Cruscotto COVID-19 | Parte 2

La funzione interact (ipywidgets.interact) crea automaticamente i controlli dell'interfaccia utente (UI) per esplorare codice e dati in modo interattivo. È il modo più semplice per iniziare a utilizzare i widget di IPython.

Passaggio 7: dashboard COVID-19 | Parte 3

Cruscotto COVID-19 | Parte 3
Cruscotto COVID-19 | Parte 3

display_html visualizza le rappresentazioni HTML di un oggetto. Cioè, cerca i metodi di visualizzazione registrati, come _repr_html_, e li chiama, visualizzando il risultato, se presente.

Passaggio 8: dashboard COVID-19 | Parte 4

Cruscotto COVID-19 | Parte 4
Cruscotto COVID-19 | Parte 4

L'elenco dei pacchetti (come spiegato nel passaggio2) viene importato nel programma.

Passaggio 9: dashboard 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')

recuperato_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')

Come spiegato nel passaggio1, leggendo i dati come file.csv dal repository.

Passaggio 10: dashboard COVID-19 | Parte 6

Cruscotto COVID-19 | Parte 6
Cruscotto COVID-19 | Parte 6

Rinomineremo i nomi delle colonne df in minuscolo

Passaggio 11: dashboard COVID-19 | Parte 7

Cruscotto COVID-19 | Parte 7
Cruscotto COVID-19 | Parte 7

Cambieremo provincia/stato in stato e paese/regione in paese

Passaggio 12: dashboard COVID-19 | Parte 8

Cruscotto COVID-19 | Parte 8
Cruscotto COVID-19 | Parte 8

Calcoleremo il numero totale di casi confermati, deceduti e guariti.

Passaggio 13: dashboard COVID-19 | Parte 9

Cruscotto COVID-19 | Parte 9
Cruscotto COVID-19 | Parte 9
Cruscotto COVID-19 | Parte 9
Cruscotto COVID-19 | Parte 9

Mostreremo le statistiche totali in formato HTML, poiché abbiamo importato librerie specifiche nel passaggio 7 in precedenza come di seguito:

da IPython.core.display import display, HTML

Passaggio 14: elenco dei paesi (Top10) in base al numero di casi | Cruscotto COVID-19

Elenco dei paesi (Top10) per numero di casi | Cruscotto COVID-19
Elenco dei paesi (Top10) per numero di casi | Cruscotto COVID-19
Elenco dei paesi (Top10) per numero di casi | Cruscotto COVID-19
Elenco dei paesi (Top10) per numero di casi | Cruscotto COVID-19

fig = vai. FigureWidget(layout=go. Layout())

La funzione FigureWidget restituisce un oggetto FigureWidget vuoto con assi xey predefiniti. I widget interattivi di Jupyter hanno un attributo di layout che espone una serie di proprietà CSS che influiscono sulla disposizione dei widget.

pd. DataFrame

crea dataframe usando il dizionario, con tre sfondi di colore per il risultante da popolare.

def show_latest_cases(TOP)

ordina i valori in ordine decrescente confermato.

interact(show_latest_cases, TOP='10')

La funzione interact (ipywidgets.interact) crea automaticamente i controlli dell'interfaccia utente (UI) per esplorare codice e dati in modo interattivo.

ipywLayout = widgets. Layout(border='solid 2px green')

crea un bordo con linee di 2 pixel di larghezza di colore verde, per la visualizzazione del risultante.

Passaggio 15: casi totali su una mappa del mondo | Cruscotto COVID-19

Casi totali su una mappa del mondo | Cruscotto COVID-19
Casi totali su una mappa del mondo | Cruscotto COVID-19
Casi totali su una mappa del mondo | Cruscotto COVID-19
Casi totali su una mappa del mondo | Cruscotto COVID-19

world_map = folium. Map(location=[11, 0], tile="cartodbpositron", zoom_start=2, max_zoom = 6, min_zoom = 2)

Folium è uno strumento che ti fa sembrare un Dio di mappatura mentre tutto il lavoro viene svolto nel back-end. È un wrapper Python per uno strumento chiamato leaflet.js. Fondamentalmente gli diamo istruzioni minime, JS fa un sacco di lavoro in background e otteniamo alcune mappe molto, molto interessanti. È roba fantastica. Per chiarezza, la mappa è tecnicamente chiamata "Mappa dépliant". Lo strumento che ti permette di chiamarli in Python si chiama 'Folium'.

Folium semplifica la visualizzazione dei dati che sono stati manipolati in Python su una mappa interattiva di Leaflet. Consente sia il collegamento dei dati a una mappa per le visualizzazioni coropletiche sia il passaggio delle visualizzazioni Vincent/Vega come indicatori sulla mappa.

for i nell'intervallo (0, len (confirmed_df))

In un ciclo for, otterremo tutti i casi confermati dalla formulazione del passaggio 9.

folium. Circle

Creiamo una mappa a bolle utilizzando folium. Circle() per aggiungere cerchi in modo iterativo.

location=[confirmed_df.iloc['lat'], confermato_df.iloc['long'], dal confermato_df dei casi confermati dal passaggio 5, estraiamo i valori di latitudine e longitudine corrispondenti a ciascun dato di posizione/paese.

raggio=(int((np.log(confirmed_df.iloc[i, -1]+1.00001)))+0.2)*50000, creando un oggetto raggio per tracciare i cerchi delle bolle sulla mappa del mondo attraverso i paesi.

color='rosso', fill_color='indaco', facendo il contorno del cerchio della bolla come rosso e l'area interna come indaco.

e infine tracciare i cerchi sulla world_map usando l'oggetto tooltip.

Passaggio 16: il risultato

Il risultato!
Il risultato!
Il risultato!
Il risultato!

L'allegato mostra:

  1. Elenco dei paesi per numero di casi
  2. Casi totali su una mappa del mondo

Consigliato: