Sisukord:

COVID19 armatuurlaud maailmakaardil (kasutades Pythoni): 16 sammu
COVID19 armatuurlaud maailmakaardil (kasutades Pythoni): 16 sammu

Video: COVID19 armatuurlaud maailmakaardil (kasutades Pythoni): 16 sammu

Video: COVID19 armatuurlaud maailmakaardil (kasutades Pythoni): 16 sammu
Video: LEDS verdes 💚 PAINEL ar CONDICIONADO 🤩 #shorts #carros #viral 2024, November
Anonim
COVID19 juhtpaneel maailmakaardil (kasutades Pythoni)
COVID19 juhtpaneel maailmakaardil (kasutades Pythoni)

Ma tean, et peaaegu kõik meist teavad enamikku teavet COVID19 kohta.

Ja see juhend on seotud mullikaardi loomisega, et joonistada maailmakaardile (juhtumite) reaalajas andmed.

Mugavuse huvides lisasin programmi Githubi hoidlasse:

github.com/backshell/COVID19dashboard

Tarvikud

Selliseid tarvikuid pole vaja ja me teeksime kogu arvutiprogrammi GoogleColab Notebooki kaudu. Seega peaks alustamiseks piisama gmaili kontost.

Colab Notebooks / Colaboratory on Google'i uurimisprojekt, mis on loodud masinõppe hariduse ja uurimistöö levitamiseks. See on Jupyteri sülearvutikeskkond, mille kasutamine ei vaja seadistamist ja töötab täielikult pilves.

Ja teie masinasse EI vaja paigaldamist.

Samm: taustaprogrammi mõistmine (andmebaas)

Enamik igast tarkvaraprogrammist otsib andmeid taustaprogrammist ja tulemus vormindatakse ning avaldatakse kasutajaliideses. Ja selle konkreetse programmi jaoks vajame COVID19 tegelikke andmeid.

G. W. C. Whitingi tehnikakool on avaldanud COVID19 statistika oma githubi konto kaudu:

github.com/CSSEGISandData

Alates algusest kuni kuupäevani avaldatakse hoidlas COVID19 riigipõhine statistika.

Nii et me kasutaksime nende. CSV-vormingus faile (riikide kaupa segmenteeritud) ja joonistame andmed maailmakaardile.

2. samm: programmis kasutatavad Pythoni paketid/teegid

Allpool on meie kasutatavate pythoni pakettide ja teekide loend. Lubage mul anda ülevaade igaühe eesmärgist.

numpy:

NumPy on Pythoni programmeerimiskeele raamatukogu, mis lisab tuge suurtele, mitmemõõtmelistele massiividele ja maatriksitele ning suure hulga kõrgetasemelisi matemaatilisi funktsioone nende massiivide kasutamiseks.

pandad:

pandas on tarkvararaamatukogu, mis on kirjutatud Pythoni programmeerimiskeele jaoks andmete töötlemiseks ja analüüsimiseks.

matplotlib.pyplot:

pyplot on mõeldud peamiselt interaktiivsetele graafikutele ja lihtsatele programmilise süžee genereerimise juhtumitele

plotly.express:

Plotly Express on uus kõrgetasemeline Pythoni visualiseerimisteek. Lihtne süntaks keeruliste diagrammide jaoks.

foolium:

fooliumi abil on interaktiivsel infolehekaardil lihtne visualiseerida Pythonis manipuleeritud andmeid.

plotly.graph_objects:

Plaaniline Pythoni pakett on loodud graafiliste jooniste (st diagrammide, jooniste, kaartide ja diagrammide) loomiseks, manipuleerimiseks ja renderdamiseks, mida kujutavad ka andmestruktuurid.

merelind:

Seaborn on matplotlibil põhinev Pythoni andmete visualiseerimisteek. See pakub kõrgetasemelist liidest atraktiivse ja informatiivse statistilise graafika joonistamiseks.

ipywidgets:

ipywidgets on interaktiivsed HTML -vidinad Jupyteri sülearvutite, JupyterLabi ja IPythoni kerneli jaoks. Sülearvutid ärkavad ellu, kui kasutatakse interaktiivseid vidinaid.

Nende pakettide installimine ei ole nõutav, kuna me töötaksime selle programmiga täielikult Google Colabi sülearvutis (hoiame seda selle juhendi ajal colabina).

Samm: seadistage oma draiv Colabi kasutamiseks

Drive'i seadistamine Colabi kasutamiseks
Drive'i seadistamine Colabi kasutamiseks
Drive'i seadistamine Colabi kasutamiseks
Drive'i seadistamine Colabi kasutamiseks

Looge oma Drive'is märkmike jaoks kaust.

Tehniliselt ei ole see samm täiesti vajalik, kui soovite Colabis lihtsalt tööle hakata. Kuna Colab töötab aga teie kettast välja, pole paha mõte määrata kaust, kus soovite töötada. Seda saate teha, kui lähete oma Google Drive'i ja klõpsate nupul „Uus” ning loote uue kausta.

Seejärel võite luua siin colabnotebooki või hakata töötama otse colabis ja linkima kausta draivis, mis on loodud colabi tööks.

See on hea tava, muidu võib meie loodud colab meie draivis tunduda segane.

4. samm: programmi ülevaade

Selles programmis/märkmikus looksime COVID-19 jaoks järgmist:

  • Riikide loetelu juhtumite arvu järgi
  • Juhtumeid kokku maailmakaardil

5. toiming: COVID-19 juhtpaneel | 1. osa

COVID-19 juhtpaneel | 1. osa
COVID-19 juhtpaneel | 1. osa

Võite kasutada tulevikku, et aidata oma koodi Python 2 -lt Python 3 -le täna teisaldada - ja jätkake seda ka Python 2 -ga.

Kui teil on juba Python 3 kood, võite selle asemel kasutada tulevikku, et pakkuda Python 2 ühilduvust peaaegu ilma lisatöödeta.

Tulevik toetab raamatukogu standardset ümberkorraldamist (PEP 3108) ühe mehhanismi kaudu, mis võimaldab enamikule teisaldatud standardsetest raamatukogumoodulitest pääseda juurde nende Python 3 nimede ja asukohtade all Python 2 -s.

6. toiming: COVID-19 juhtpaneel | 2. osa

COVID-19 juhtpaneel | 2. osa
COVID-19 juhtpaneel | 2. osa

Interaktsioonifunktsioon (ipywidgets.interact) loob automaatselt kasutajaliidese (UI) juhtelemendid koodi ja andmete interaktiivseks uurimiseks. See on lihtsaim viis alustada IPythoni vidinate kasutamist.

Samm: COVID-19 juhtpaneel | 3. osa

COVID-19 juhtpaneel | 3. osa
COVID-19 juhtpaneel | 3. osa

display_html kuvab objekti HTML -esitusviisid. See tähendab, et otsib üles registreeritud kuvamismeetodid, näiteks _repr_html_, ja helistab neile, kuvades tulemuse, kui see on olemas.

8. toiming: COVID-19 juhtpaneel | 4. osa

COVID-19 juhtpaneel | 4. osa
COVID-19 juhtpaneel | 4. osa

Pakettide loend (nagu selgitatud 2. etapis) imporditakse programmi.

9. toiming: COVID-19 juhtpaneel | 5. osa

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

kinnitatud_df = pd.read_csv ('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirm_global.csv')

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

Nagu 1. etapis selgitatud, lugege andmeid hoidlast.csv -failina.

10. toiming: COVID-19 juhtpaneel | 6. osa

COVID-19 juhtpaneel | 6. osa
COVID-19 juhtpaneel | 6. osa

Nimetame df veergude nimed ümber väiketähtedeks

11. samm: COVID-19 juhtpaneel | 7. osa

COVID-19 juhtpaneel | 7. osa
COVID-19 juhtpaneel | 7. osa

Me muudame provintsi/osariigi osariigiks ja riigi/piirkonna riigiks

12. samm: COVID-19 juhtpaneel | 8. osa

COVID-19 juhtpaneel | 8. osa
COVID-19 juhtpaneel | 8. osa

Arvutame kinnitatud, surmajuhtumite ja taastunud juhtumite koguarvu.

13. samm: COVID-19 juhtpaneel | 9. osa

COVID-19 juhtpaneel | 9. osa
COVID-19 juhtpaneel | 9. osa
COVID-19 juhtpaneel | 9. osa
COVID-19 juhtpaneel | 9. osa

Me kuvame kogu statistikat HTML -vormingus, kuna impordisime konkreetsed teegid varem 7. sammus järgmiselt:

IPython.core.display impordiekraanilt, HTML

14. samm: riikide loend (top10) juhtumite arvu järgi | COVID-19 juhtpaneel

Riikide loend (Top10) juhtumite arvu järgi | COVID-19 juhtpaneel
Riikide loend (Top10) juhtumite arvu järgi | COVID-19 juhtpaneel
Riikide loend (Top10) juhtumite arvu järgi | COVID-19 juhtpaneel
Riikide loend (Top10) juhtumite arvu järgi | COVID-19 juhtpaneel

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

Funktsioon FigureWidget tagastab tühja FigureWidget objekti, millel on vaikimisi teljed x ja y. Jupyteri interaktiivsetel vidinatel on paigutuse atribuut, mis paljastab mitmeid CSS -i omadusi, mis mõjutavad vidinate paigutust.

pd. DataFrame

loob andmeraami sõnastiku abil, mille tulemuseks on kolme värvi taust.

def show_latest_cases (TOP)

sorteerib väärtused kinnitatud kahanevas järjekorras.

suhtlema (show_latest_cases, TOP = '10')

Interaktsioonifunktsioon (ipywidgets.interact) loob automaatselt kasutajaliidese (UI) juhtelemendid koodi ja andmete interaktiivseks uurimiseks.

ipywLayout = vidinad. Paigutus (ääris = 'tahke 2 pikslit roheline')

loob äärise 2px laiuse rohelise joonega, et tulemus oleks kuvatav.

15. samm: juhtumeid kokku maailmakaardil | COVID-19 juhtpaneel

Juhtumeid kokku maailmakaardil | COVID-19 juhtpaneel
Juhtumeid kokku maailmakaardil | COVID-19 juhtpaneel
Juhtumeid kokku maailmakaardil | COVID-19 juhtpaneel
Juhtumeid kokku maailmakaardil | COVID-19 juhtpaneel

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

Foolium on tööriist, mis paneb sind nägema kaardistavat Jumalat, samal ajal kui kogu töö on tehtud tagaosas. See on Pythoni ümbris tööriistale nimega leaflet.js. Põhimõtteliselt anname sellele minimaalseid juhiseid, JS teeb taustal palju tööd ja saame mõned väga -väga lahedad kaardid. See on suurepärane värk. Selguse huvides nimetatakse kaarti tehniliselt „infolehekaardiks“. Tööriista, mida nimetame Pythonis, nimetatakse Foliumiks.

Folium muudab interaktiivsel infolehekaardil Pythonis manipuleeritud andmete visualiseerimise lihtsaks. See võimaldab nii andmete sidumist kaardiga choropleth visualiseerimiseks kui ka Vincent/Vega visualiseeringute edastamist kaardil markeritena.

i jaoks vahemikus (0, len (kinnitatud_df))

For for loop saame kõik kinnitatud juhtumid etapi 9 koostamisest.

foolium. Ring

Loome mullikaardi, kasutades fooliumit. Ring () ringide korduvaks lisamiseks.

asukoht = [kinnitatud_df.iloc ['lat'], kinnitatud_df.iloc ['pikk'], etapist kinnitatud juhtumite kinnitatud_df -st eraldame igale asukoha/riigi andmetele vastavad laius- ja pikkuskraadid.

raadius = (int ((np.log (kinnitatud_df.iloc [i, -1] +1.00001)))+0.2)*50000, raadiusega objekti loomine mulliringide joonistamiseks maailmakaardil kõikides riikides.

värv = 'punane', fill_color = 'indigo', muutes mullringi piirjooned punaseks ja sisepiirkonna indigoks.

ja lõpuks joonistage ringid maailmakaardile, kasutades tööriistavihje objekti.

16. samm: tulemus

Tulemus!
Tulemus!
Tulemus!
Tulemus!

Manus näitab:

  1. Riikide loetelu juhtumite arvu järgi
  2. Juhtumeid kokku maailmakaardil

Soovitan: