Tartalomjegyzék:

COVID19 irányítópult a világtérképen (Python használatával): 16 lépés
COVID19 irányítópult a világtérképen (Python használatával): 16 lépés

Videó: COVID19 irányítópult a világtérképen (Python használatával): 16 lépés

Videó: COVID19 irányítópult a világtérképen (Python használatával): 16 lépés
Videó: Panel board assembly 3 phase suply 2024, November
Anonim
COVID19 irányítópult a világtérképen (Python használatával)
COVID19 irányítópult a világtérképen (Python használatával)

Tudom, hogy szinte mindannyian tudjuk a legtöbb információt a COVID19 -ről.

Ez az oktatható pedig egy buboréktérkép létrehozásáról szól, amely a valós idejű adatokat (eseteket) ábrázolja a világtérképen.

A nagyobb kényelem érdekében hozzáadtam a programot a Github adattárhoz:

github.com/backshell/COVID19dashboard

Kellékek

Nincs szükség kellékanyagokra, és a teljes számítógépes programot a GoogleColab Notebook segítségével végezzük. Tehát egy gmail fiók elegendő a kezdéshez.

A Colab Notebooks / Colaboratory egy Google kutatási projekt, amelynek célja a gépi tanulás oktatásának és kutatásának elterjesztése. Ez egy Jupyter notebook környezet, amelynek használata nem igényel telepítést, és teljes egészében a felhőben fut.

És nincs szükség telepítésre a gépben.

1. lépés: A háttér -folyamat (adatbázis) megértése

A legtöbb szoftver letölti az adatokat a háttérrendszerből, az eredményt pedig formázza és közzéteszi a kezelőfelületen. Ehhez a programhoz pedig valós COVID19-adatokra lenne szükségünk.

A G. W. C. A Whiting School of Engineering github -fiókján keresztül közzétette a COVID19 statisztikákat:

github.com/CSSEGISandData

A kezdetektől a dátumig az országonkénti COVID19 statisztikákat közzéteszik a tárolóban.

Tehát a. CSV formátumú fájlokat használnánk (az országok soronként szegmentálva), és ábrázolnánk az adatokat a világtérképen.

2. lépés: A programban használt Python csomagok/könyvtárak

Az alábbiakban felsoroljuk a használni kívánt python csomagokat és könyvtárakat. Hadd adjak áttekintést mindegyikük céljáról.

szar:

A NumPy a Python programozási nyelv könyvtára, amely támogatja a nagyméretű, többdimenziós tömböket és mátrixokat, valamint a magas szintű matematikai függvények nagy gyűjteményét ezen tömbök kezelésére.

pandák:

A pandas egy szoftverkönyvtár, amelyet a Python programozási nyelvhez írtak az adatok kezelésére és elemzésére.

matplotlib.pyplot:

A pyplot főként interaktív ábrákhoz és a programozott cselekménygenerálás egyszerű eseteihez készült

plotly.express:

A Plotly Express egy új, magas szintű Python vizualizációs könyvtár. Egyszerű szintaxis összetett diagramokhoz.

fólium:

A folium megkönnyíti a Pythonban manipulált adatok megjelenítését interaktív szórólap -térképen.

plotly.graph_objects:

A cselekvő Python csomag grafikus ábrák (azaz diagramok, ábrák, térképek és diagramok) létrehozására, manipulálására és megjelenítésére szolgál, amelyeket adatstruktúráknak is neveznek.

tengeren született:

A Seaborn a matplotlib -en alapuló Python -adatmegjelenítő könyvtár. Magas szintű felületet biztosít vonzó és informatív statisztikai grafikák rajzolásához.

ipywidgets:

Az ipywidgetek interaktív HTML modulok a Jupyter notebookokhoz, a JupyterLabhoz és az IPython kernelhez. A notebookok életre kelnek, ha interaktív modulokat használnak.

Ezeknek a csomagoknak a telepítése nem szükséges, mivel ezt a programot teljes egészében a Google Colab Jegyzetfüzetben dolgoznánk (tartsuk colab -ként ebben az utasításban).

3. lépés: A meghajtó beállítása a Colab használatához

A meghajtó beállítása a Colab használatához
A meghajtó beállítása a Colab használatához
A meghajtó beállítása a Colab használatához
A meghajtó beállítása a Colab használatához

A Drive -ban hozzon létre egy mappát a notebookjaihoz.

Technikailag ez a lépés nem teljesen szükséges, ha csak a Colabban szeretne dolgozni. Mivel azonban a Colab az Ön meghajtóján dolgozik, nem rossz ötlet megadni azt a mappát, ahol dolgozni szeretne. Ezt úgy teheti meg, hogy megnyitja a Google Drive -ot, és az „Új” gombra kattint, majd létrehoz egy új mappát.

Ezután dönthet úgy, hogy itt létrehozza a colabnotebook -ot, vagy elkezdi közvetlenül a colab -ban való munkát, és összekapcsolja a mappát a meghajtóban, amely a colab -munkához készült.

Ez jó gyakorlat, különben a létrehozott colab zavarosnak tűnhet a meghajtónkban.

4. lépés: A program áttekintése

Ebben a programban/jegyzetfüzetben a következőket hoznánk létre a COVID-19 esetében:

  • Országok listája az esetek száma szerint
  • Összes eset a világtérképen

5. lépés: COVID-19 irányítópult | 1. rész

COVID-19 irányítópult | 1. rész
COVID-19 irányítópult | 1. rész

A jövő segítségével segíthet a kód Python 2 -ről Python 3 -ra történő átvitelében még ma - és továbbra is futtatni a Python 2 -n.

Ha már rendelkezik Python 3 kóddal, akkor a jövőben a Python 2 kompatibilitást kínálhatja, szinte további munkák nélkül.

A jövő támogatja a szabványos könyvtári átszervezést (PEP 3108) a számos mechanizmus egyikén keresztül, lehetővé téve a legtöbb áthelyezett szabványos könyvtári modul elérését Python 3 nevükön és helyükön a Python 2 -ben.

6. lépés: COVID-19 irányítópult | 2. rész

COVID-19 irányítópult | 2. rész
COVID-19 irányítópult | 2. rész

Az interaktív funkció (ipywidgets.interact) automatikusan létrehozza a felhasználói felület (UI) vezérlőit a kód és az adatok interaktív feltárásához. Ez a legegyszerűbb módja az IPython widgetek használatának megkezdéséhez.

7. lépés: COVID-19 irányítópult | 3. rész

COVID-19 irányítópult | 3. rész
COVID-19 irányítópult | 3. rész

A display_html megjeleníti az objektum HTML -ábrázolásait. Vagyis megkeresi a regisztrált megjelenítési módszereket, például _repr_html_, és meghívja őket, megjelenítve az eredményt, ha van ilyen.

8. lépés: COVID-19 irányítópult | 4. rész

COVID-19 irányítópult | 4. rész
COVID-19 irányítópult | 4. rész

A csomagok listája (a 2. lépésben leírtak szerint) importálva lesz a programba.

9. lépés: COVID-19 irányítópult | 5. rész

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

megerősített_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')

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

Amint az 1. lépésben kifejtettük, az adatokat.csv fájlként olvassuk le a lerakatból.

10. lépés: COVID-19 irányítópult | 6. rész

COVID-19 irányítópult | 6. rész
COVID-19 irányítópult | 6. rész

Átnevezzük a df oszlopneveket kisbetűsre

11. lépés: COVID-19 irányítópult | 7. rész

COVID-19 irányítópult | 7. rész
COVID-19 irányítópult | 7. rész

Megváltoztatjuk a tartományt/államot államra és országra/régióra

12. lépés: COVID-19 irányítópult | 8. rész

COVID-19 irányítópult | 8. rész
COVID-19 irányítópult | 8. rész

Kiszámítjuk a megerősített, halálos és gyógyult esetek teljes számát.

13. lépés: COVID-19 irányítópult | 9. rész

COVID-19 irányítópult | 9. rész
COVID-19 irányítópult | 9. rész
COVID-19 irányítópult | 9. rész
COVID-19 irányítópult | 9. rész

A teljes statisztikát HTML formátumban jelenítjük meg, mivel a 7. lépésben importáltunk bizonyos könyvtárakat az alábbiak szerint:

az IPython.core.display importálási kijelzőjéről, HTML

14. lépés: Az országok listája (Top10) az esetek száma alapján | COVID-19 irányítópult

Országok listája (Top10) az esetek száma szerint | COVID-19 irányítópult
Országok listája (Top10) az esetek száma szerint | COVID-19 irányítópult
Országok listája (Top10) az esetek száma szerint | COVID-19 irányítópult
Országok listája (Top10) az esetek száma szerint | COVID-19 irányítópult

ábra = go. FigureWidget (layout = go. Layout ())

A FigureWidget függvény üres FigureWidget objektumot ad vissza alapértelmezett x és y tengelyekkel. A Jupyter interaktív modulok elrendezési attribútummal rendelkeznek, amely számos olyan CSS -tulajdonságot tár fel, amelyek befolyásolják a modulok elrendezését.

pd. DataFrame

adatkeretet hoz létre a szótár segítségével, három színháttérrel az eredmény feltöltéséhez.

def show_latest_cases (TOP)

az értékeket megerősített csökkenő sorrendbe rendezi.

interakció (show_latest_cases, TOP = '10 ')

Az interaktív funkció (ipywidgets.interact) automatikusan létrehozza a felhasználói felület (UI) vezérlőit a kód és az adatok interaktív feltárásához.

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

szegélyt hoz létre 2 képpont szélességű zöld színű vonalakkal az eredmény megjelenítéséhez.

15. lépés: Összes eset a világtérképen | COVID-19 irányítópult

Összes eset a világtérképen | COVID-19 irányítópult
Összes eset a világtérképen | COVID-19 irányítópult
Összes eset a világtérképen | COVID-19 irányítópult
Összes eset a világtérképen | COVID-19 irányítópult

world_map = folium. Map (hely = [11, 0], cserép = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)

A Folium egy olyan eszköz, amellyel úgy nézel ki, mint egy térképező Isten, miközben minden munka a hátsó részen történik. Ez egy Python -csomagoló a leaflet.js nevű eszközhöz. Alapvetően minimális utasításokat adunk neki, a JS rengeteg munkát végez a háttérben, és nagyon -nagyon klassz térképeket kapunk. Remek cucc. Az egyértelműség kedvéért a térképet technikailag „Leaflet Map” -nek nevezik. Az eszközt, amelyet Pythonban hívunk, Foliumnak hívják.

A Folium megkönnyíti a Pythonban manipulált adatok megjelenítését interaktív Leaflet térképen. Lehetővé teszi az adatok térképhez való kötését a choropleth vizualizációkhoz, valamint a Vincent/Vega vizualizációk jelölőként való megjelenítését a térképen.

i tartományban (0, len (megerősített_df))

A for ciklusban minden megerősített esetet megkapunk a 9. lépés megfogalmazásából.

folium. Kör

Létrehozunk egy buboréktérképet a folium. Circle () segítségével, hogy iteratívan hozzáadhassunk köröket.

hely = [megerősített_df.iloc ['lat'], megerősített_df.iloc ['hosszú'], a megerősített esetek megerősített_ddf -jéből az 5. lépésből kivonjuk az egyes hely/ország adatoknak megfelelő szélességi és hosszúsági értékeket.

sugár = (int ((np.log (megerősített_df.iloc [i, -1] +1.00001)))+0.2)*50000, sugár objektum létrehozása a buborékkörök ábrázolásához a világtérképen az országok között.

color = 'red', fill_color = 'indigo', a buborékkör körvonalát vörösre, a belső területet pedig indigóra.

és végül a körök ábrázolása a world_map -on az tooltip objektum segítségével.

16. lépés: Az eredmény

Az eredmény!
Az eredmény!
Az eredmény!
Az eredmény!

A melléklet a következőket mutatja:

  1. Országok listája az esetek száma szerint
  2. Összes eset a világtérképen

Ajánlott: