Kazalo:

Nadzorna plošča COVID19 na zemljevidu sveta (z uporabo Pythona): 16 korakov
Nadzorna plošča COVID19 na zemljevidu sveta (z uporabo Pythona): 16 korakov

Video: Nadzorna plošča COVID19 na zemljevidu sveta (z uporabo Pythona): 16 korakov

Video: Nadzorna plošča COVID19 na zemljevidu sveta (z uporabo Pythona): 16 korakov
Video: КАКИМ БУДЕТ PORTAL 3 2024, November
Anonim
Nadzorna plošča COVID19 na svetovnem zemljevidu (z uporabo Pythona)
Nadzorna plošča COVID19 na svetovnem zemljevidu (z uporabo Pythona)

Vem, da skoraj vsi poznamo večino informacij o COVID19.

In ta pouk je namenjen ustvarjanju zemljevida z mehurčki, za prikaz podatkov (primerov) v realnem času na zemljevidu sveta.

Za večje udobje sem program dodal v skladišče Github:

github.com/backshell/COVID19dashboard

Zaloge

Zaloge kot take niso potrebne, celoten računalniški program pa bi opravili prek prenosnika GoogleColab. Torej bi za začetek zadostoval račun gmail.

Colab Notebooks / Colaboratory je Googlov raziskovalni projekt, ustvarjen za razširjanje izobraževanja in raziskav o strojnem učenju. To je okolje prenosnega računalnika Jupyter, ki ne potrebuje nastavitev za uporabo in se v celoti izvaja v oblaku.

In namestitev v vaš stroj ni potrebna.

1. korak: Razumevanje zalednega procesa (zbirka podatkov)

Večina vseh programov programske opreme pridobi podatke iz zaledja, rezultat pa se formatira in objavi na vmesniku. In za ta program bi potrebovali resnične podatke o bolezni COVID19.

G. W. C. Inženirska šola Whiting je prek svojega računa github objavila statistiko COVID19:

github.com/CSSEGISandData

Od začetka do datuma so v shrambi objavljeni statistični podatki o državi COVID19.

Zato bi uporabili datoteke v formatu. CSV (segmentirane po vrsticah držav) in podatke zapisali na zemljevidu sveta.

2. korak: Paketi/knjižnice Python, ki se uporabljajo v programu

Spodaj je seznam paketov in knjižnic python, ki bi jih uporabljali. Naj opišem namen vsakega od njih.

numpy:

NumPy je knjižnica za programski jezik Python, ki dodaja podporo za velike, večdimenzionalne matrike in matrike, skupaj z veliko zbirko matematičnih funkcij na visoki ravni za delovanje v teh matrikah.

pande:

pandas je knjižnica programske opreme, napisana za programski jezik Python za manipulacijo in analizo podatkov.

matplotlib.pyplot:

pyplot je namenjen predvsem interaktivnim ploskvam in preprostim primerom generiranja programskih ploskev

plotly.express:

Plotly Express je nova knjižnica za vizualizacijo Python na visoki ravni. Enostavna skladnja za zapletene grafikone.

folija:

folium olajša vizualizacijo podatkov, ki so bili obdelani v Pythonu, na interaktivnem zemljevidu letakov.

plotly.graph_objects:

Zapleten paket Python obstaja za ustvarjanje, upravljanje in upodabljanje grafičnih figur (tj. Grafikonov, ploskev, zemljevidov in diagramov), ki jih predstavljajo podatkovne strukture, imenovane tudi figure.

morsko rojen:

Seaborn je knjižnica za vizualizacijo podatkov Python, ki temelji na matplotlibu. Zagotavlja vmesnik na visoki ravni za risanje privlačnih in informativnih statističnih grafik.

ipywidgets:

ipywidgets so interaktivni pripomočki HTML za zvezke Jupyter, JupyterLab in jedro IPython. Beležnice oživijo, ko se uporabljajo interaktivni pripomočki.

Namestitev teh paketov ni potrebna, saj bi ta program v celoti delali v prenosnem računalniku Google Colab (naj bo v tem navodilu ohranjen kot colab).

3. korak: Nastavitev pogona za uporabo Colaba

Nastavitev pogona za uporabo Colaba
Nastavitev pogona za uporabo Colaba
Nastavitev pogona za uporabo Colaba
Nastavitev pogona za uporabo Colaba

V svojem pogonu ustvarite mapo za svoje zvezke.

Tehnično gledano ta korak ni povsem nujen, če želite šele začeti delati v Colabu. Ker pa Colab deluje z vašega pogona, ni slabo določiti mape, v kateri želite delati. To lahko storite tako, da odprete Google Drive in kliknete »Novo« in nato ustvarite novo mapo.

Nato se lahko odločite, da tukaj ustvarite colabnotebook ali začnete neposredno delo v colabu in povežete mapo v pogonu, ki je ustvarjena za delo v colabu.

To je dobra praksa, sicer pa bo kolaž, ki ga ustvarimo, v naši vožnji videti neurejen.

4. korak: Pregled programa

V tem programu/zvezku bi za COVID-19 ustvarili naslednje:

  • Seznam držav po številu primerov
  • Skupni primeri na zemljevidu sveta

5. korak: Nadzorna plošča COVID-19 | 1. del

Nadzorna plošča COVID-19 | 1. del
Nadzorna plošča COVID-19 | 1. del

Prihodnost lahko uporabite za prenos kode iz Pythona 2 v Python 3 danes - in še vedno jo izvajajte na Pythonu 2.

Če že imate kodo Python 3, lahko namesto tega uporabite future, da ponudite združljivost Python 2 skoraj brez dodatnega dela.

future podpira standardno reorganizacijo knjižnic (PEP 3108) prek enega od več mehanizmov, ki omogoča dostop do večine premaknjenih standardnih knjižničnih modulov pod njihovimi imeni in lokacijami Python 3 v Pythonu 2.

6. korak: Nadzorna plošča COVID-19 | 2. del

Nadzorna plošča COVID-19 | 2. del
Nadzorna plošča COVID-19 | 2. del

Funkcija interakcije (ipywidgets.interact) samodejno ustvari kontrole uporabniškega vmesnika (UI) za interaktivno raziskovanje kode in podatkov. To je najlažji način za začetek uporabe pripomočkov IPython.

7. korak: Nadzorna plošča COVID-19 | 3. del

Nadzorna plošča COVID-19 | 3. del
Nadzorna plošča COVID-19 | 3. del

display_html prikazuje HTML predstavitve predmeta. To pomeni, da poišče registrirane metode prikaza, na primer _repr_html_, in jih pokliče ter prikaže rezultat, če obstaja.

8. korak: Nadzorna plošča COVID-19 | 4. del

Nadzorna plošča COVID-19 | 4. del
Nadzorna plošča COVID-19 | 4. del

Seznam paketov (kot je razloženo v koraku 2) se uvozi v program.

9. korak: Nadzorna plošča COVID-19 | 5. del

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

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

Kot je razloženo v 1. koraku, branje podatkov kot datoteke.csv iz skladišča.

10. korak: Nadzorna plošča COVID-19 | 6. del

Nadzorna plošča COVID-19 | 6. del
Nadzorna plošča COVID-19 | 6. del

Imena stolpcev df bomo preimenovali v male črke

11. korak: Nadzorna plošča COVID-19 | 7. del

Nadzorna plošča COVID-19 | 7. del
Nadzorna plošča COVID-19 | 7. del

Pokrajino/državo bomo spremenili v državo in državo/regijo v državo

12. korak: Nadzorna plošča COVID-19 | 8. del

Nadzorna plošča COVID-19 | 8. del
Nadzorna plošča COVID-19 | 8. del

Izračunali bomo skupno število potrjenih, umrlih in odkritih primerov.

13. korak: Nadzorna plošča COVID-19 | 9. del

Nadzorna plošča COVID-19 | 9. del
Nadzorna plošča COVID-19 | 9. del
Nadzorna plošča COVID-19 | 9. del
Nadzorna plošča COVID-19 | 9. del

Skupne statistike bomo prikazali v obliki HTML, saj smo v 7. koraku prej uvozili določene knjižnice, kot je prikazano spodaj:

iz prikaza uvoza IPython.core.display, HTML

Korak 14: Seznam držav (Top10) po številu primerov | Nadzorna plošča COVID-19

Seznam držav (Top10) po številu primerov | Nadzorna plošča COVID-19
Seznam držav (Top10) po številu primerov | Nadzorna plošča COVID-19
Seznam držav (Top10) po številu primerov | Nadzorna plošča COVID-19
Seznam držav (Top10) po številu primerov | Nadzorna plošča COVID-19

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

Funkcija FigureWidget vrne prazen objekt FigureWidget s privzetima osema x in y. Interaktivni pripomočki Jupyter imajo atribut postavitve, ki razkriva številne lastnosti CSS, ki vplivajo na postavitev gradnikov.

pd. DataFrame

ustvari podatkovni okvir z uporabo slovarja s tremi barvnimi ozadji, ki jih bo rezultat zapolnil.

def show_latest_cases (TOP)

razvrsti vrednosti po potrjenem padajočem vrstnem redu.

interakcija (show_latest_cases, TOP = '10 ')

Funkcija interakcije (ipywidgets.interact) samodejno ustvari kontrole uporabniškega vmesnika (UI) za interaktivno raziskovanje kode in podatkov.

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

ustvari obrobo s črtami zelene barve širine 2 slikovnih pik, da se rezultat prikaže.

Korak 15: Skupni primeri na svetovnem zemljevidu | Nadzorna plošča COVID-19

Skupni primeri na svetovnem zemljevidu | Nadzorna plošča COVID-19
Skupni primeri na svetovnem zemljevidu | Nadzorna plošča COVID-19
Skupni primeri na svetovnem zemljevidu | Nadzorna plošča COVID-19
Skupni primeri na svetovnem zemljevidu | Nadzorna 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 orodje, zaradi katerega ste videti kot kartografski bog, medtem ko je vse delo opravljeno v zadnjem delu. To je ovitek Python za orodje, imenovano leaflet.js. V bistvu mu dajemo minimalna navodila, JS veliko dela v ozadju in dobimo nekaj zelo, zelo kul zemljevidov. To je super zadeva. Zaradi jasnosti se zemljevid tehnično imenuje "zemljevid letakov". Orodje, ki vam ga lahko pokličemo v Pythonu, se imenuje 'Folium'.

Folium olajša vizualizacijo podatkov, ki so bili obdelani v Pythonu, na interaktivnem zemljevidu zloženk. Omogoča tako vezavo podatkov na zemljevid za vizualizacije čoropletov kot tudi posredovanje vizualizacij Vincent/Vega kot označevalce na zemljevidu.

za i v območju (0, len (potrjen_df))

V zanki for bomo dobili vse potrjene primere iz formulacije 9.

folij.krog

Zemljevid mehurčkov ustvarimo z uporabo folium. Circle () za iterativno dodajanje krogov.

lokacija = [potrjen_df.iloc ['lat'], potrjen_df.iloc ['dolg'],

iz potrjenega_df potrjenih primerov iz 5. koraka izvlečemo vrednosti zemljepisne širine in dolžine, ki ustrezajo vsakemu podatku o lokaciji/državi.

polmer = (int ((np.log (potrjen_df.iloc [i, -1] +1,00001)))+0,2)*50000,

ustvarjanje predmeta polmera za prikaz kroglic mehurčkov na zemljevidu sveta po državah.

color = 'rdeča', fill_color = 'indigo',

obris mehurčkastega kroga je rdeč, notranje območje pa indigo.

in na koncu narisati kroge na zemljevidu sveta s pomočjo predmeta orodja.

Korak 16: Rezultat

Rezultat!
Rezultat!
Rezultat!
Rezultat!

Priloga prikazuje:

  1. Seznam držav po številu primerov
  2. Skupni primeri na zemljevidu sveta

Priporočena: