Sadržaj:

Nadzorna ploča COVID19 na karti svijeta (pomoću Pythona): 16 koraka
Nadzorna ploča COVID19 na karti svijeta (pomoću Pythona): 16 koraka

Video: Nadzorna ploča COVID19 na karti svijeta (pomoću Pythona): 16 koraka

Video: Nadzorna ploča COVID19 na karti svijeta (pomoću Pythona): 16 koraka
Video: Международный аэропорт Ханэда всегда будет в курсе потребностей наших клиентов. 🇷🇺 2024, Studeni
Anonim
Nadzorna ploča COVID19 na karti svijeta (pomoću Pythona)
Nadzorna ploča COVID19 na karti svijeta (pomoću Pythona)

Znam da gotovo svi mi znamo većinu informacija o COVID19.

Ova instrukcija se odnosi na stvaranje mjehurića karte za iscrtavanje podataka (slučajeva) u stvarnom vremenu na karti svijeta.

Radi veće udobnosti, program sam dodao u spremište Github:

github.com/backshell/COVID19dashboard

Pribor

Nisu potrebne takve zalihe i cijeli bismo računalni program radili putem GoogleColab prijenosnog računala. Dakle, Gmail račun bi trebao biti dovoljan za početak.

Colab Notebooks / Colaboratory Googleov je istraživački projekt osmišljen kako bi pomogao u širenju obrazovanja i istraživanja o strojnom učenju. To je okruženje prijenosnog računala Jupyter koje ne zahtijeva postavljanje za korištenje i radi u potpunosti u oblaku.

I NEMA instaliranja na vašem stroju.

Korak 1: Razumijevanje pozadinskog procesa (baza podataka)

Većina svih softverskih programa dohvaća podatke s pozadine, a rezultat se formatira i objavljuje na prednjem dijelu. A za ovaj bi nam program bili potrebni stvarni podaci o bolesti COVID19.

G. W. C. Tehnička škola Whiting objavljuje statistiku o COVID19 putem svog github računa:

github.com/CSSEGISandData

Od početka do datuma, statistike COVID -19 za pojedine zemlje objavljuju se u spremištu.

Stoga bismo koristili datoteke u. CSV formatu (segmentirane zemlje po redovima) i iscrtali podatke na karti svijeta.

Korak 2: Paketi/knjižnice Python koji se koriste u programu

Dolje je popis python paketa i knjižnica koje bismo koristili. Dopustite mi da dam pregled svrhe svakog od njih.

numpy:

NumPy je knjižnica za programski jezik Python, dodajući podršku za velike, višedimenzionalne nizove i matrice, zajedno s velikom zbirkom matematičkih funkcija na visokoj razini za rad na tim nizovima.

pande:

pandas je softverska knjižnica napisana za programski jezik Python za manipulaciju i analizu podataka.

matplotlib.pyplot:

pyplot je uglavnom namijenjen interaktivnim zavjerama i jednostavnim slučajevima generiranja programskih zavjera

plotly.express:

Plotly Express je nova Python biblioteka za vizualizaciju na visokoj razini. Jednostavna sintaksa za složene grafikone.

folija:

folium olakšava vizualizaciju podataka kojima se manipulira u Pythonu na interaktivnoj karti letaka.

plotly.graph_objects:

Zacrtani paket Python postoji za stvaranje, upravljanje i iscrtavanje grafičkih slika (tj. Grafikona, grafikona, karata i dijagrama) predstavljenih strukturama podataka koje se također nazivaju i figure.

pomorski:

Seaborn je Python knjižnica za vizualizaciju podataka koja se temelji na matplotlibu. Pruža sučelje na visokoj razini za crtanje atraktivnih i informativnih statističkih grafika.

ipywidgets:

ipywidgets su interaktivni HTML widgeti za Jupyter prijenosnike, JupyterLab i jezgru IPythona. Bilježnice oživljavaju kada se koriste interaktivni widgeti.

Instaliranje ovih paketa nije potrebno jer bismo ovaj program radili u potpunosti u Google Colab Notebooku (dopustimo da ostane kao colab tijekom cijelog ovog uputstva).

Korak 3: Postavljanje pogona za upotrebu Colaba

Postavljanje vašeg pogona za korištenje Colaba
Postavljanje vašeg pogona za korištenje Colaba
Postavljanje vašeg pogona za korištenje Colaba
Postavljanje vašeg pogona za korištenje Colaba

Na svom Disku izradite mapu za svoje bilježnice.

Tehnički gledano, ovaj korak nije potpuno neophodan ako želite tek početi raditi u Colabu. Međutim, budući da Colab radi s vašeg pogona, nije loša ideja navesti mapu u kojoj želite raditi. To možete učiniti tako da odete na svoj Google disk i kliknete “Novo”, a zatim stvorite novu mapu.

Tada možete odlučiti stvoriti colabnotebook ovdje ili početi izravno raditi u colabu i povezati mapu na pogonu, koja je stvorena za rad na suradnji.

Ovo je dobra praksa, inače kolega koji stvorimo može izgledati neuredno u našem pogonu.

Korak 4: Pregled programa

U ovom programu/bilježnici stvorili bismo sljedeće za COVID-19:

  • Popis zemalja prema broju slučajeva
  • Ukupni slučajevi na karti svijeta

Korak 5: Nadzorna ploča za COVID-19 | 1. dio

Nadzorna ploča za COVID-19 | 1. dio
Nadzorna ploča za COVID-19 | 1. dio

Budućnost možete upotrijebiti za prijenos koda s Pythona 2 na Python 3 danas - a da ga i dalje radite na Pythonu 2.

Ako već imate kod Python 3, umjesto toga možete koristiti future kako biste ponudili Python 2 kompatibilnost gotovo bez dodatnog posla.

future podržava standardnu reorganizaciju knjižnice (PEP 3108) putem jednog od nekoliko mehanizama, što omogućuje pristup većini premještenih standardnih knjižničnih modula pod njihovim nazivima i lokacijama Python 3 u Pythonu 2.

Korak 6: Nadzorna ploča za COVID-19 | 2. dio

Nadzorna ploča za COVID-19 | 2. dio
Nadzorna ploča za COVID-19 | 2. dio

Funkcija interakcije (ipywidgets.interact) automatski stvara kontrole korisničkog sučelja (UI) za interaktivno istraživanje koda i podataka. To je najjednostavniji način za početak korištenja IPythonovih widgeta.

Korak 7: Nadzorna ploča za COVID-19 | 3. dio

Nadzorna ploča za COVID-19 | 3. dio
Nadzorna ploča za COVID-19 | 3. dio

display_html prikazuje HTML prikaze objekta. Odnosno, traži registrirane metode prikaza, poput _repr_html_, i poziva ih, prikazujući rezultat, ako ga ima.

Korak 8: Nadzorna ploča za COVID-19 | 4. dio

Nadzorna ploča za COVID-19 | 4. dio
Nadzorna ploča za COVID-19 | 4. dio

Popis paketa (kako je objašnjeno u koraku 2) uvozi se u program.

Korak 9: Nadzorna ploča za COVID-19 | 5. dio

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

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

Kao što je objašnjeno u koraku 1, čitanje podataka kao.csv datoteke iz spremišta.

Korak 10: Nadzorna ploča za COVID-19 | 6. dio

Nadzorna ploča za COVID-19 | 6. dio
Nadzorna ploča za COVID-19 | 6. dio

Preimenovat ćemo nazive stupaca df u mala slova

Korak 11: Nadzorna ploča za COVID-19 | 7. dio

Nadzorna ploča za COVID-19 | 7. dio
Nadzorna ploča za COVID-19 | 7. dio

Promijenit ćemo pokrajinu/državu u državu i državu/regiju u državu

Korak 12: Nadzorna ploča za COVID-19 | 8. dio

Nadzorna ploča za COVID-19 | 8. dio
Nadzorna ploča za COVID-19 | 8. dio

Izračunat ćemo ukupan broj potvrđenih, smrtnih i oporavljenih slučajeva.

Korak 13: Nadzorna ploča za COVID-19 | 9. dio

Nadzorna ploča za COVID-19 | 9. dio
Nadzorna ploča za COVID-19 | 9. dio
Nadzorna ploča za COVID-19 | 9. dio
Nadzorna ploča za COVID-19 | 9. dio

Prikazat ćemo ukupnu statistiku u HTML formatu jer smo ranije uvezli određene biblioteke u koraku 7, kao što je dolje:

s IPython.core.display uvoznog prikaza, HTML

Korak 14: Popis zemalja (Top10) prema broju slučajeva | Nadzorna ploča COVID-19

Popis zemalja (Top10) prema broju slučajeva | Nadzorna ploča COVID-19
Popis zemalja (Top10) prema broju slučajeva | Nadzorna ploča COVID-19
Popis zemalja (Top10) prema broju slučajeva | Nadzorna ploča COVID-19
Popis zemalja (Top10) prema broju slučajeva | Nadzorna ploča COVID-19

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

Funkcija FigureWidget vraća prazan objekt FigureWidget sa zadanim osama x i y. Interaktivni widgeti Jupyter imaju atribut izgleda koji izlaže brojna CSS svojstva koja utječu na način postavljanja widgeta.

pd. DataFrame

stvara okvir podataka pomoću rječnika, s tri pozadine u boji za dobivanje rezultata.

def show_latest_cases (TOP)

sortira vrijednosti prema potvrđenom silaznom redoslijedu.

interakcija (show_latest_cases, TOP = '10 ')

Funkcija interakcije (ipywidgets.interact) automatski stvara kontrole korisničkog sučelja (UI) za interaktivno istraživanje koda i podataka.

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

stvara obrub s linijama širine 2 piksela zelene boje za prikaz rezultata.

Korak 15: Ukupni slučajevi na karti svijeta | Nadzorna ploča COVID-19

Ukupni slučajevi na karti svijeta | Nadzorna ploča COVID-19
Ukupni slučajevi na karti svijeta | Nadzorna ploča COVID-19
Ukupni slučajevi na karti svijeta | Nadzorna ploča COVID-19
Ukupni slučajevi na karti svijeta | Nadzorna ploča COVID-19

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

Folium je alat koji vas čini da izgledate kao kartografski bog dok se sav posao obavlja na stražnjoj strani. To je Python omot za alat koji se zove leaflet.js. U osnovi mu dajemo minimalne upute, JS radi puno posla u pozadini i dobivamo neke jako, jako cool karte. Super je to. Radi jasnoće, karta se tehnički naziva "Karta letaka". Alat koji ih možemo nazvati u Pythonu zove se 'Folium'.

Folium olakšava vizualizaciju podataka kojima se manipulira u Pythonu na interaktivnoj karti Leaflet. Omogućuje i vezivanje podataka za kartu za horopletske vizualizacije, kao i prosljeđivanje Vincent/Vega vizualizacija kao oznaka na karti.

za i u rasponu (0, len (potvrđen_df))

U for petlji dobit ćemo sve potvrđene slučajeve iz 9. koraka formulacije.

folija. Krug

Kartu mjehurića izrađujemo pomoću folium. Circle () za iterativno dodavanje krugova.

lokacija = [potvrđen_df.iloc ['lat'], potvrđen_df.iloc ['dugačak'], iz potvrđenog_df potvrđenog slučaja iz koraka 5 izdvajamo vrijednosti zemljopisne širine i dužine koje odgovaraju svakom podatku o lokaciji/zemlji.

radijus = (int ((np.log (potvrđen_df.iloc [i, -1] +1,00001)))+0,2)*50000, stvarajući objekt radijusa za iscrtavanje krugova mjehurića na karti svijeta po zemljama.

color = 'red', fill_color = 'indigo', čineći obris kruga mjehurića crvenim, a unutarnje područje indigom.

i na kraju iscrtavanje krugova na karti svijeta pomoću objekta tooltip.

Korak 16: Rezultat

Rezultat!
Rezultat!
Rezultat!
Rezultat!

Prilog prikazuje:

  1. Popis zemalja prema broju slučajeva
  2. Ukupni slučajevi na karti svijeta

Preporučeni: