Cuprins:

Tabloul de bord COVID19 pe harta lumii (folosind Python): 16 pași
Tabloul de bord COVID19 pe harta lumii (folosind Python): 16 pași

Video: Tabloul de bord COVID19 pe harta lumii (folosind Python): 16 pași

Video: Tabloul de bord COVID19 pe harta lumii (folosind Python): 16 pași
Video: Au Uitat Să Oprească Camera De FILMAT! Momente Incredibile Filmate În LIVE 2024, Decembrie
Anonim
Tabloul de bord COVID19 pe harta lumii (folosind Python)
Tabloul de bord COVID19 pe harta lumii (folosind Python)

Știu că aproape toți știm cele mai multe informații despre COVID19.

Și acest lucru instructiv este despre crearea unei hărți cu bule, pentru a trasa datele în timp real (ale cazurilor) pe harta lumii.

Pentru mai multă comoditate, am adăugat programul la depozitul Github:

github.com/backshell/COVID19dashboard

Provizii

Nu sunt necesare consumabile ca atare și am face întregul program pentru computer prin GoogleColab Notebook. Deci, un cont Gmail ar trebui să fie suficient pentru a începe.

Colab Notebooks / Colaboratory este un proiect de cercetare Google creat pentru a ajuta la diseminarea educației și cercetării de învățare automată. Este un mediu notebook Jupyter care nu necesită nicio configurare pentru a fi utilizat și rulează în întregime în cloud.

ȘI NU este necesară instalarea în mașină.

Pasul 1: Înțelegerea procesului de backend (bază de date)

Majoritatea programelor software preluează date din backend, iar rezultatul este formatat și publicat în front-end. Și pentru acest program anume, am avea nevoie de date reale COVID19.

G. W. C. Whiting School of Engineering a publicat statisticile COVID19 prin contul său github:

github.com/CSSEGISandData

De la început până în prezent, statisticile COVID19 în funcție de țară sunt publicate în depozit.

Așa că am folosi fișierele formatate. CSV ale acestora (segmentate în funcție de rând în funcție de țări) și vom arăta datele pe harta lumii.

Pasul 2: Pachete / biblioteci Python utilizate în program

Mai jos este lista pachetelor și bibliotecilor python pe care le-am folosi. Permiteți-mi să ofer o imagine de ansamblu asupra scopului fiecăruia dintre ei.

numpy:

NumPy este o bibliotecă pentru limbajul de programare Python, adăugând suport pentru matrice și matrici mari, multi-dimensionale, împreună cu o colecție mare de funcții matematice la nivel înalt pentru a opera pe aceste matrice.

panda:

pandas este o bibliotecă software scrisă pentru limbajul de programare Python pentru manipularea și analiza datelor.

matplotlib.pyplot:

pyplot este destinat în principal graficelor interactive și cazurilor simple de generare a graficelor programatice

plotly.express:

Plotly Express este o nouă bibliotecă de vizualizare Python la nivel înalt. Sintaxă simplă pentru diagrame complexe.

folium:

folium facilitează vizualizarea datelor care au fost manipulate în Python pe o hartă pliant interactivă.

plotly.graph_objects:

Pachetul Python în plan există pentru a crea, manipula și reda figuri grafice (adică diagrame, diagrame, hărți și diagrame) reprezentate de structuri de date denumite și figuri.

născut în mare:

Seaborn este o bibliotecă de vizualizare a datelor Python bazată pe matplotlib. Oferă o interfață la nivel înalt pentru desenarea unor grafice statistice atractive și informative.

ipywidgets:

ipywidgets sunt widget-uri HTML interactive pentru notebook-urile Jupyter, JupyterLab și kernel-ul IPython. Notebook-urile prind viață atunci când sunt utilizate widget-uri interactive.

Instalarea acestor pachete nu este necesară, deoarece am lucra acest program în întregime în Notebook-ul Google Colab (să-l păstrăm ca colab pe tot parcursul acestui instructable).

Pasul 3: Configurarea unității dvs. pentru a utiliza Colab

Configurarea unității dvs. pentru a utiliza Colab
Configurarea unității dvs. pentru a utiliza Colab
Configurarea unității dvs. pentru a utiliza Colab
Configurarea unității dvs. pentru a utiliza Colab

În Drive, creați un folder pentru notebook-uri.

Din punct de vedere tehnic, acest pas nu este absolut necesar dacă doriți doar să începeți să lucrați în Colab. Cu toate acestea, deoarece Colab funcționează în afara unității dvs., nu este o idee rea să specificați folderul în care doriți să lucrați. Puteți face acest lucru accesând Google Drive și făcând clic pe „Nou” și apoi creând un folder nou.

Apoi, puteți alege să creați colabnotebook aici sau să începeți să lucrați direct să lucrați în colab și să legați folderul din unitate, care este creat pentru lucrul colab.

Aceasta este o practică bună, altfel mai mult colab-ul pe care îl creăm poate părea dezordonat în unitatea noastră.

Pasul 4: Prezentare generală a programului

În acest program / caiet, am crea următoarele pentru COVID-19:

  • Lista țărilor după numărul de cazuri
  • Total cazuri pe o hartă a lumii

Pasul 5: Tabloul de bord COVID-19 | Partea 1

Tabloul de bord COVID-19 | Partea 1
Tabloul de bord COVID-19 | Partea 1

Puteți folosi viitorul pentru a vă ajuta să vă transferați codul de la Python 2 la Python 3 astăzi - și să îl rulați în continuare pe Python 2.

Dacă aveți deja codul Python 3, puteți folosi în schimb viitorul pentru a oferi compatibilitate Python 2 cu aproape niciun lucru suplimentar.

viitor acceptă reorganizarea bibliotecii standard (PEP 3108) prin intermediul unuia dintre mai multe mecanisme, permițând accesul celor mai multe module de bibliotecă standard mutate sub numele și locațiile lor Python 3 din Python 2.

Pasul 6: Tabloul de bord COVID-19 | Partea 2

Tabloul de bord COVID-19 | Partea 2
Tabloul de bord COVID-19 | Partea 2

Funcția de interacțiune (ipywidgets.interact) creează automat controale de interfață utilizator (UI) pentru explorarea interactivă a codului și a datelor. Este cel mai simplu mod de a începe să utilizați widgeturile IPython.

Pasul 7: Tabloul de bord COVID-19 | Partea 3

Tabloul de bord COVID-19 | Partea 3
Tabloul de bord COVID-19 | Partea 3

display_html afișează reprezentările HTML ale unui obiect. Adică, caută metode de afișare înregistrate, cum ar fi _repr_html_, și le apelează, afișând rezultatul, dacă există.

Pasul 8: Tabloul de bord COVID-19 | Partea 4

Tabloul de bord COVID-19 | Partea 4
Tabloul de bord COVID-19 | Partea 4

Lista pachetelor (așa cum este explicat în pasul 2) este importată în program.

Pasul 9: Tabloul de bord COVID-19 | Partea 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')

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

După cum sa explicat în pasul 1, citirea datelor ca fișier.csv din depozit.

Pasul 10: Tabloul de bord COVID-19 | Partea 6

Tabloul de bord COVID-19 | Partea 6
Tabloul de bord COVID-19 | Partea 6

Vom redenumi numele coloanelor df în minuscule

Pasul 11: Tabloul de bord COVID-19 | Partea 7

Tabloul de bord COVID-19 | Partea 7
Tabloul de bord COVID-19 | Partea 7

Vom schimba provincia / statul în stat și țara / regiunea în țară

Pasul 12: Tabloul de bord COVID-19 | Partea 8

Tabloul de bord COVID-19 | Partea 8
Tabloul de bord COVID-19 | Partea 8

Vom calcula numărul total de cazuri confirmate, decese și recuperate.

Pasul 13: Tabloul de bord COVID-19 | Partea 9

Tabloul de bord COVID-19 | Partea 9
Tabloul de bord COVID-19 | Partea 9
Tabloul de bord COVID-19 | Partea 9
Tabloul de bord COVID-19 | Partea 9

Vom afișa statisticile totale în format HTML, deoarece am importat biblioteci specifice în pasul 7 mai devreme, după cum urmează:

de pe afișajul de import IPython.core.display, HTML

Pasul 14: Lista țărilor (Top10) după numărul de cazuri | Tabloul de bord COVID-19

Lista țărilor (Top10) după numărul de cazuri Tabloul de bord COVID-19
Lista țărilor (Top10) după numărul de cazuri Tabloul de bord COVID-19
Lista țărilor (Top10) după numărul de cazuri Tabloul de bord COVID-19
Lista țărilor (Top10) după numărul de cazuri Tabloul de bord COVID-19

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

Funcția FigureWidget returnează un obiect FigureWidget gol cu axele x și y implicite. Widgeturile interactive Jupyter au un atribut de aspect care expune o serie de proprietăți CSS care influențează modul în care sunt dispuse widgeturile.

pd. DataFrame

creează un cadru de date folosind dicționar, cu trei fundaluri de culoare pentru ca rezultatul să fie completat.

def show_latest_cases (TOP)

sortează valorile după ordinea descrescătoare confirmată.

interacționează (show_latest_cases, TOP = '10 ')

Funcția de interacțiune (ipywidgets.interact) creează automat controale de interfață utilizator (UI) pentru explorarea interactivă a codului și a datelor.

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

creează un chenar cu liniile de 2x lățime de culoare verde, pentru ca rezultatul să fie afișat.

Pasul 15: Total cazuri pe o hartă a lumii | Tabloul de bord COVID-19

Total cazuri pe o hartă a lumii | Tabloul de bord COVID-19
Total cazuri pe o hartă a lumii | Tabloul de bord COVID-19
Total cazuri pe o hartă a lumii | Tabloul de bord COVID-19
Total cazuri pe o hartă a lumii | Tabloul de bord COVID-19

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

Folium este un instrument care te face să arăți ca un Dumnezeu de cartografiere, în timp ce toată munca se face în partea din spate. Este un învelitor Python pentru un instrument numit leaflet.js. Practic îi oferim instrucțiuni minime, JS face o mulțime de muncă în fundal și obținem niște hărți foarte, foarte cool. Sunt lucruri grozave. Pentru claritate, harta este denumită tehnic o „hartă pliant”. Instrumentul care vă permite să le numiți în Python se numește „Folium”.

Folium vă permite să vizualizați cu ușurință datele care au fost manipulate în Python pe o hartă pliant interactivă. Permite atât legarea datelor la o hartă pentru vizualizări coroplet, cât și trecerea vizualizărilor Vincent / Vega ca markeri pe hartă.

pentru i în interval (0, len (confirmat_df))

Într-o buclă for, vom obține toate cazurile confirmate din formularea pasului9.

folium. Cerc

Creăm o hartă cu bule folosind folium. Circle () pentru a adăuga iterativ cercuri.

locație = [confirmat_df.iloc ['lat'], confirmat_df.iloc ['lung'], din confirmat_df de cazuri confirmate de la pasul 5, extragem valorile de latitudine și longitudine corespunzătoare fiecărei date de locație / țară.

radius = (int ((np.log (confirm_df.iloc [i, -1] +1.00001))) + 0.2) * 50000, crearea unui obiect de rază pentru a trasa cercurile cu bule pe harta lumii din toate țările.

color = 'roșu', fill_color = 'indigo', făcând conturul cercului cu bule ca roșu și zona interioară ca indigo.

și, în cele din urmă, trasarea cercurilor pe world_map folosind obiectul tooltip.

Pasul 16: Rezultatul

Rezultatul!
Rezultatul!
Rezultatul!
Rezultatul!

Atașamentul arată:

  1. Lista țărilor după numărul de cazuri
  2. Total cazuri pe o hartă a lumii

Recomandat: