Orodha ya maudhui:

Dashibodi ya COVID19 kwenye Ramani ya Dunia (kwa kutumia Python): Hatua 16
Dashibodi ya COVID19 kwenye Ramani ya Dunia (kwa kutumia Python): Hatua 16

Video: Dashibodi ya COVID19 kwenye Ramani ya Dunia (kwa kutumia Python): Hatua 16

Video: Dashibodi ya COVID19 kwenye Ramani ya Dunia (kwa kutumia Python): Hatua 16
Video: MJC Engineering Kata. Забавы инженеров - помогаем продать кроссовки. 2024, Desemba
Anonim
Dashibodi ya COVID19 kwenye Ramani ya Dunia (kwa kutumia chatu)
Dashibodi ya COVID19 kwenye Ramani ya Dunia (kwa kutumia chatu)

Najua karibu sisi sote tunajua habari nyingi juu ya COVID19.

Na hii inaweza kufundishwa juu ya kuunda ramani ya Bubble, kupanga data ya wakati halisi (ya kesi) kwenye ramani ya ulimwengu.

Kwa urahisi zaidi, nimeongeza programu kwenye hazina ya Github:

github.com/backshell/COVID19dashboard

Vifaa

Hakuna vifaa vinavyohitajika kama hivyo na tutafanya programu nzima ya kompyuta kupitia Daftari la GoogleColab. Kwa hivyo akaunti ya gmail inapaswa kuwa ya kutosha kuanza.

Madaftari ya Colab / Colaboratory ni mradi wa utafiti wa Google iliyoundwa kusaidia kusambaza elimu ya utafiti wa mashine na utafiti. Ni mazingira ya daftari ya Jupyter ambayo hayaitaji usanidi wa kutumia na inaendesha kabisa kwenye wingu.

Na HAKUNA ufungaji unaohitajika kwenye mashine yako.

Hatua ya 1: Kuelewa Mchakato wa Backend (hifadhidata)

Zaidi ya kila programu ya programu huleta data kutoka kwa nyuma na matokeo yake yamepangwa na kuchapishwa hadi mwisho-mbele. Na kwa mpango huu, tutahitaji data halisi ya COVID19.

G. W. C. Shule ya Uhandisi ya Whiting imekuwa ikichapisha takwimu za COVID19 kupitia akaunti yake ya github:

github.com/CSSEGISandData

Kuanzia mwanzo hadi tarehe, takwimu za nchi zenye busara za COVID19 zinachapishwa kwenye hazina.

Kwa hivyo tungetumia faili za muundo wa. CSV wao (sehemu zenye safu za nchi) na kupanga data kwenye ramani ya ulimwengu.

Hatua ya 2: Vifurushi / maktaba ya chatu iliyotumiwa katika Programu

Chini ni orodha ya vifurushi na maktaba ya chatu, ambayo tungetumia. Wacha nitoe muhtasari wa kusudi la kila mmoja wao.

numpy:

NumPy ni maktaba ya lugha ya programu ya Python, ikiongeza msaada kwa safu kubwa, anuwai na matrices, pamoja na mkusanyiko mkubwa wa kazi za kiwango cha juu cha hesabu za kufanya kazi kwenye safu hizi.

pandas:

pandas ni maktaba ya programu iliyoandikwa kwa lugha ya programu ya Python kwa udanganyifu wa data na uchambuzi.

matplotlib.poplot:

pyplot imekusudiwa kwa viwanja vya maingiliano na kesi rahisi za kizazi cha mipango

maelezo:

Plotly Express ni maktaba mpya ya kiwango cha juu cha taswira ya chatu. Syntax rahisi kwa chati ngumu.

jani:

folium inafanya iwe rahisi kuibua data ambayo imekuwa ikidanganywa katika Python kwenye ramani ya mwingiliano wa vipeperushi.

vitu vya maandishi

Kifurushi cha mpango wa Python upo kuunda, kuendesha na kutoa takwimu za picha (mfano chati, viwanja, ramani na michoro) zinazowakilishwa na miundo ya data pia inayojulikana kama takwimu.

kuzaliwa baharini:

Seaborn ni maktaba ya taswira ya data ya Python kulingana na matplotlib. Inatoa kiolesura cha kiwango cha juu cha kuchora picha za kupendeza na zenye kuelimisha.

vilivyoandikwa:

vilivyoandikwa ni wijeti za maingiliano za HTML za daftari za Jupyter, JupyterLab na kernel ya IPython. Madaftari huwa hai wakati vilivyoandikwa vya maingiliano vinatumiwa.

Kuweka vifurushi hivi hazihitajiki kwani tungekuwa tunafanya kazi na mpango huu kabisa kwenye Daftari la Google Colab (inakuwezesha kuiweka kama colab katika mafunzo haya).

Hatua ya 3: Kuanzisha Hifadhi yako, ili utumie Colab

Kuweka Hifadhi Yako, Kutumia Colab
Kuweka Hifadhi Yako, Kutumia Colab
Kuweka Hifadhi Yako, Kutumia Colab
Kuweka Hifadhi Yako, Kutumia Colab

Katika Hifadhi yako, Unda folda ya daftari zako.

Kuzungumza kiufundi, hatua hii sio lazima kabisa ikiwa unataka kuanza kufanya kazi katika Colab. Walakini, kwa kuwa Colab inafanya kazi mbali na gari lako, sio wazo baya kutaja folda ambapo unataka kufanya kazi. Unaweza kufanya hivyo kwa kwenda kwenye Hifadhi yako ya Google na kubofya "Mpya" na kisha uunda folda mpya.

Basi unaweza kuchagua kuunda daftari la colabnot hapa au kuanza kufanya kazi moja kwa moja kwenye colab na unganisha folda iliyo kwenye gari, ambayo imeundwa kwa kazi ya colab.

Hii ni mazoezi mazuri, vinginevyo colab tunayounda inaweza kuonekana kuwa ya fujo kwenye gari letu.

Hatua ya 4: Muhtasari wa Programu

Katika mpango huu / daftari, tungetengeneza zifuatazo kwa COVID-19:

  • Orodha ya Nchi kwa Idadi ya Kesi
  • Kesi Jumla kwenye Ramani ya Ulimwenguni

Hatua ya 5: Dashibodi ya COVID-19 | Sehemu 1

Dashibodi ya COVID-19 | Sehemu 1
Dashibodi ya COVID-19 | Sehemu 1

Unaweza kutumia siku za usoni kusaidia kusafirisha nambari yako kutoka Python 2 hadi Python 3 leo - na bado uifanye kwenye Python 2.

Ikiwa tayari unayo nambari ya Python 3, unaweza kutumia baadaye kutoa utangamano wa Python 2 na karibu hakuna kazi ya ziada.

siku za usoni inasaidia upangaji wa kawaida wa maktaba (PEP 3108) kupitia moja ya njia kadhaa, ikiruhusu moduli nyingi za maktaba za kawaida kupatikana chini ya majina yao ya Python 3 na maeneo katika Python 2.

Hatua ya 6: Dashibodi ya COVID-19 | Sehemu ya 2

Dashibodi ya COVID-19 | Sehemu ya 2
Dashibodi ya COVID-19 | Sehemu ya 2

Kazi ya kuingiliana (ipywidgets.interact) huunda kiotomatiki udhibiti wa kiolesura cha mtumiaji (UI) wa kuchunguza nambari na data kwa kuingiliana. Ni njia rahisi ya kuanza kutumia vilivyoandikwa vya IPython.

Hatua ya 7: Dashibodi ya COVID-19 | Sehemu ya 3

Dashibodi ya COVID-19 | Sehemu ya 3
Dashibodi ya COVID-19 | Sehemu ya 3

kuonyesha_html inaonyesha uwakilishi wa HTML wa kitu. Hiyo ni, inatafuta njia za kuonyesha zilizosajiliwa, kama _repr_html_, na huwaita, ikionyesha matokeo, ikiwa ipo.

Hatua ya 8: Dashibodi ya COVID-19 | Sehemu ya 4

Dashibodi ya COVID-19 | Sehemu ya 4
Dashibodi ya COVID-19 | Sehemu ya 4

Orodha ya vifurushi (kama ilivyoelezewa katika hatua2) huingizwa kwenye programu.

Hatua ya 9: Dashibodi ya COVID-19 | Sehemu ya 5

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

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

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

Kama ilivyoelezewa katika hatua1, kusoma data kama faili ya.csv kutoka kwa hazina.

Hatua ya 10: Dashibodi ya COVID-19 | Sehemu ya 6

Dashibodi ya COVID-19 | Sehemu ya 6
Dashibodi ya COVID-19 | Sehemu ya 6

Tutabadilisha majina ya safu ya df kuwa herufi ndogo

Hatua ya 11: Dashibodi ya COVID-19 | Sehemu ya 7

Dashibodi ya COVID-19 | Sehemu ya 7
Dashibodi ya COVID-19 | Sehemu ya 7

Tutabadilisha mkoa / jimbo kuwa jimbo na nchi / mkoa kuwa nchi

Hatua ya 12: Dashibodi ya COVID-19 | Sehemu ya 8

Dashibodi ya COVID-19 | Sehemu ya 8
Dashibodi ya COVID-19 | Sehemu ya 8

Tutahesabu jumla ya idadi ya kesi zilizothibitishwa, kifo na kupatikana.

Hatua ya 13: Dashibodi ya COVID-19 | Sehemu ya 9

Dashibodi ya COVID-19 | Sehemu ya 9
Dashibodi ya COVID-19 | Sehemu ya 9
Dashibodi ya COVID-19 | Sehemu ya 9
Dashibodi ya COVID-19 | Sehemu ya 9

Tutaonyesha takwimu zote katika muundo wa HTML, kama tulivyoingiza maktaba maalum katika hatua7 mapema kama ilivyo hapo chini:

kutoka kwa IPython.core.display maonyesho ya kuagiza, HTML

Hatua ya 14: Orodha ya Nchi (Top10) na Idadi ya Kesi | Dashibodi ya COVID-19

Orodha ya Nchi (Top10) kwa Idadi ya Kesi | Dashibodi ya COVID-19
Orodha ya Nchi (Top10) kwa Idadi ya Kesi | Dashibodi ya COVID-19
Orodha ya Nchi (Top10) kwa Idadi ya Kesi | Dashibodi ya COVID-19
Orodha ya Nchi (Top10) kwa Idadi ya Kesi | Dashibodi ya COVID-19

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

Kazi ya Kielelezo cha Kielelezo inarudi kitu tupu cha Kielelezo cha Kielelezo na shoka chaguomsingi za x na y. Vilivyoandikwa vya Jupyter vina sifa ya mpangilio inayoonyesha mali kadhaa za CSS zinazoathiri jinsi vilivyoandikwa vimewekwa.

pd. DataFrame

hutengeneza jina la data kwa kutumia kamusi, na asili tatu za rangi kwa matokeo kuijaza.

kesi za onyesho la hivi karibuni (TOP)

panga maadili kwa utaratibu uliothibitishwa wa kushuka.

wasiliana (onyesha_kesi za hivi karibuni, TOP = '10 ')

Kazi ya kuingiliana (ipywidgets.interact) huunda kiotomatiki udhibiti wa kiolesura cha mtumiaji (UI) wa kuchunguza nambari na data kwa kuingiliana.

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

huunda mpaka na mistari 2px ya rangi ya kijani, ili matokeo yaonyeshwe.

Hatua ya 15: Jumla ya Kesi kwenye Ramani ya Dunia | Dashibodi ya COVID-19

Kesi Jumla kwenye Ramani ya Dunia | Dashibodi ya COVID-19
Kesi Jumla kwenye Ramani ya Dunia | Dashibodi ya COVID-19
Kesi Jumla kwenye Ramani ya Dunia | Dashibodi ya COVID-19
Kesi Jumla kwenye Ramani ya Dunia | Dashibodi ya COVID-19

ramani ya ulimwengu_map

Folium ni zana ambayo inakufanya uonekane kama Mungu wa ramani wakati kazi yote inafanywa mwisho wa nyuma. Sisi kimsingi tunampa maagizo madogo, JS hufanya kazi nyingi nyuma na tunapata ramani nzuri sana. Ni mambo mazuri. Kwa uwazi, ramani hiyo kitaalam inaitwa 'Ramani ya Vipeperushi'. Zana ambayo tunakuita katika Python inaitwa 'Folium'.

Folium hufanya iwe rahisi kuibua data ambayo imekuwa ikidanganywa katika Python kwenye ramani ya mwingiliano ya vipeperushi. Inawezesha kufungwa kwa data zote kwenye ramani ya taswira ya choropleth na pia kupitisha taswira ya Vincent / Vega kama alama kwenye ramani.

kwa mimi katika anuwai (0, len (alithibitisha_ddf))

Kwa kitanzi, tutapata kesi zote zilizothibitishwa kutoka kwa uundaji wa step9.

jani Mzunguko

Tunaunda ramani ya Bubble kwa kutumia folium. Circle () kwa kuongeza miduara.

eneo = [confirmed_df.iloc ['lat'], alithibitisha_df.iloc ['ndefu'],

kutoka kwa proof_df ya kesi zilizothibitishwa kutoka hatua ya 5, tunatoa nambari za latitudo na longitudo zinazolingana na kila eneo la data / nchi.

radius = (int ((np.log (confirmed_df.iloc [i, -1] +1.00001))) + 0.2) * 50000,

kuunda kitu cha radius kupanga duru za Bubble kwenye ramani ya ulimwengu kote nchi.

rangi = 'nyekundu', fill_color = 'indigo',

kufanya muhtasari wa duara la Bubble kuwa nyekundu na eneo la ndani kama indigo.

na mwishowe tupange miduara kwenye ulimwengu_map ukitumia kitu cha vidokezo vya zana.

Hatua ya 16: Matokeo

Matokeo!
Matokeo!
Matokeo!
Matokeo!

Kiambatisho kinaonyesha:

  1. Orodha ya Nchi kwa Idadi ya Kesi
  2. Kesi Jumla kwenye Ramani ya Ulimwenguni

Ilipendekeza: