Sadržaj:

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

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

Video: Kontrolna ploča COVID19 na karti svijeta (pomoću Pythona): 16 koraka
Video: Part 2 - The Adventures of Tom Sawyer Audiobook by Mark Twain (Chs 11-24) 2024, Decembar
Anonim
Kontrolna ploča COVID19 na karti svijeta (pomoću Pythona)
Kontrolna 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 mape za iscrtavanje podataka (slučajeva) u stvarnom vremenu na karti svijeta.

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

github.com/backshell/COVID19dashboard

Supplies

Nisu potrebne zalihe kao takve 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 je Googleov istraživački projekt kreiran da pomogne u širenju obrazovanja i istraživanja o strojnom učenju. To je okruženje prijenosnog računara Jupyter koje ne zahtijeva postavljanje za upotrebu i radi u potpunosti u oblaku.

I NEMA instaliranja na vašoj mašini.

Korak 1: Razumijevanje pozadinskog procesa (baza podataka)

Većina softverskih programa dohvaća podatke iz pozadine, a rezultat se formatira i objavljuje na prednjem dijelu. A za ovaj program potrebni su nam stvarni podaci o virusu 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, statistički podaci o COVID19 zemlji objavljeni su u spremištu.

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

Korak 2: Paketi/biblioteke Python koji se koriste u programu

Ispod je lista python paketa i biblioteka koje bismo koristili. Dopustite mi da dam pregled svrhe svakog od njih.

numpy:

NumPy je biblioteka za programski jezik Python, dodajući podršku za velike, višedimenzionalne nizove i matrice, zajedno s velikom zbirkom matematičkih funkcija na visokom nivou za rad na tim nizovima.

pande:

pandas je softverska biblioteka 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 visokom nivou. Jednostavna sintaksa za složene grafikone.

folija:

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

plotly.graph_objects:

Zacrtani Python paket postoji za stvaranje, manipulaciju i prikazivanje grafičkih slika (tj. Grafikona, grafikona, karata i dijagrama) predstavljenih strukturama podataka koje se nazivaju i figure.

morski rođeni:

Seaborn je Python biblioteka za vizualizaciju podataka zasnovana na matplotlibu. Pruža sučelje na visokom nivou za crtanje atraktivnih i informativnih statističkih grafika.

ipywidgets:

ipywidgets su interaktivni HTML widgeti za Jupyter bilježnice, JupyterLab i IPython jezgru. Belež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 mu da ostane kao colab u ovom uputstvu).

Korak 3: 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
Postavljanje vašeg pogona za korištenje Colaba

Na svom Disku stvorite fasciklu 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 ako odete na svoj Google disk i kliknete “Novo”, a zatim stvorite novu mapu.

Tada možete izabrati da ovdje kreirate colabnotebook ili da počnete direktno raditi u colab -u i povežete fasciklu na pogonu, koja je stvorena za rad na colab -u.

Ovo je dobra praksa, inače kolega koji stvorimo može izgledati neuredno u našoj vožnji.

Korak 4: Pregled programa

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

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

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

Kontrolna ploča COVID-19 | 1. dio
Kontrolna ploča COVID-19 | 1. dio

Budućnost možete koristiti 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 biblioteke (PEP 3108) putem jednog od nekoliko mehanizama, omogućavajući pristup većini premještenih standardnih bibliotečkih modula pod njihovim Python 3 imenima i lokacijama u Pythonu 2.

Korak 6: Kontrolna ploča za COVID-19 | Dio 2

Kontrolna ploča COVID-19 | Dio 2
Kontrolna ploča COVID-19 | Dio 2

Funkcija interakcije (ipywidgets.interact) automatski stvara kontrole korisničkog sučelja (UI) za interaktivno istraživanje koda i podataka. To je najjednostavniji način da počnete koristiti IPython widgete.

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

Kontrolna ploča COVID-19 | 3. dio
Kontrolna ploča COVID-19 | 3. dio

display_html prikazuje HTML reprezentacije 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

Kontrolna ploča COVID-19 | 4. dio
Kontrolna ploča COVID-19 | 4. dio

Lista paketa (kao što je objašnjeno u koraku 2) se uvozi u program.

Korak 9: Kontrolna 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')

potvrđen_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: Kontrolna ploča za COVID-19 | 6. dio

Kontrolna ploča COVID-19 | 6. dio
Kontrolna ploča COVID-19 | 6. dio

Preimenovat ćemo imena kolona df u mala slova

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

Kontrolna ploča COVID-19 | 7. dio
Kontrolna ploča COVID-19 | 7. dio

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

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

Kontrolna ploča COVID-19 | 8. dio
Kontrolna ploča 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

Kontrolna ploča COVID-19 | 9. dio
Kontrolna ploča COVID-19 | 9. dio
Kontrolna ploča COVID-19 | 9. dio
Kontrolna ploča COVID-19 | 9. dio

Prikazat ćemo ukupnu statistiku u HTML formatu, jer smo uvezli određene biblioteke u koraku 7 ranije, kako slijedi:

sa IPython.core.display prikaza za uvoz, HTML

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

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

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

Funkcija FigureWidget vraća prazan objekt FigureWidget sa zadanim osama x i y. Jupyter interaktivni widgeti imaju atribut izgleda koji otkriva niz CSS svojstava koja utječu na način postavljanja widgeta.

pd. DataFrame

stvara okvir podataka koristeći rječnik, sa tri pozadine u boji za popunjavanje rezultata.

def show_latest_cases (TOP)

sortira vrijednosti prema potvrđenom opadajućem 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 sa linijama širine 2px zelene boje za prikaz rezultata.

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

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

world_map = folium. Map (lokacija = [11, 0], pločice = "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. To je sjajna stvar. 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ćava i vezivanje podataka za kartu za vizualizacije horopleta, kao i prenošenje Vincent/Vega vizualizacija kao markera na karti.

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

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

folium. Circle

Mapu mjehurića stvaramo 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 svakoj lokaciji/zemlji.

radijus = (int ((np.log (potvrđen_df.iloc [i, -1] +1.00001)))+0.2)*50000, stvaranje radijusa objekta za iscrtavanje krugova mjehurića na karti svijeta po zemljama.

color = 'red', fill_color = 'indigo', čineći obris kruga mjehurića crvenim, a unutrašnjost 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čuje se: