Բովանդակություն:

COVID19- ի վահանակը համաշխարհային քարտեզի վրա (Python- ի միջոցով). 16 քայլ
COVID19- ի վահանակը համաշխարհային քարտեզի վրա (Python- ի միջոցով). 16 քայլ

Video: COVID19- ի վահանակը համաշխարհային քարտեզի վրա (Python- ի միջոցով). 16 քայլ

Video: COVID19- ի վահանակը համաշխարհային քարտեզի վրա (Python- ի միջոցով). 16 քայլ
Video: A 1000 Year Old Abandoned Italian Castle - Uncovering It's Mysteries! 2024, Նոյեմբեր
Anonim
COVID19- ի վահանակը համաշխարհային քարտեզի վրա (Python- ի միջոցով)
COVID19- ի վահանակը համաշխարհային քարտեզի վրա (Python- ի միջոցով)

Ես գիտեմ, որ գրեթե բոլորս գիտենք COVID19- ի մասին տեղեկատվության մեծ մասը:

Եվ սա ուսանելի է պղպջակների քարտեզ ստեղծելու, իրական ժամանակի տվյալները (դեպքերի) աշխարհի քարտեզի վրա գծելու մասին:

Ավելի հարմարավետության համար ես ծրագիրը ավելացրել եմ Github պահոցին.

github.com/backshell/COVID19dashboard

Պարագաներ

Մթերքներ, որպես այդպիսին, չեն պահանջվում, և մենք ամբողջ համակարգչային ծրագիրը կկատարեինք GoogleColab Notebook- ի միջոցով: Այսպիսով, gmail հաշիվը պետք է բավական լինի սկզբից:

Colab Notebooks / Colaboratory- ը Google- ի հետազոտական ծրագիր է, որը ստեղծվել է մեքենայական ուսուցման կրթության և հետազոտության տարածման համար: Դա Jupyter նոութբուքի միջավայր է, որն օգտագործման համար ոչ մի կարգավորում չի պահանջում և ամբողջությամբ աշխատում է ամպի մեջ:

Եվ ձեր մեքենայում տեղադրում չի պահանջվում:

Քայլ 1. Հասկանալով հետընթացի գործընթացը (տվյալների բազա)

Softwareրագրային ապահովման բոլոր ծրագրերից շատերը տվյալներ են վերցնում հետնապահ մասից, իսկ արդյունքը ձևաչափվում և հրապարակվում է մինչև վերջ: Իսկ կոնկրետ այս ծրագրի համար մենք կպահանջենք COVID19- ի իրական տվյալները:

G. W. C. Whiting ինժեներական դպրոցը հրապարակում է COVID19- ի վիճակագրությունը իր github հաշվի միջոցով.

github.com/CSSEGISandData

Սկզբից մինչև օրս COVID19- ի վերաբերյալ երկրի վիճակագրական վիճակագրությունը հրապարակվում է շտեմարանում:

Այսպիսով, մենք կօգտագործեինք դրանցից:

Քայլ 2. thրագրում օգտագործվող Python փաթեթներ/գրադարաններ

Ստորև բերված են python փաթեթների և գրադարանների ցանկը, որոնք մենք կօգտագործենք: Թույլ տվեք ակնարկ ներկայացնել դրանցից յուրաքանչյուրի նպատակի մասին:

numpy:

NumPy- ն Python ծրագրավորման լեզվի գրադարան է, որն աջակցություն է ավելացնում մեծ, բազմաչափ զանգվածների և մատրիցների համար, ինչպես նաև բարձրակարգ մաթեմատիկական գործառույթների մեծ հավաքածու `այդ զանգվածների վրա աշխատելու համար:

pandas:

pandas- ը ծրագրային գրադարան է, որը գրված է Python ծրագրավորման լեզվի համար ՝ տվյալների մանիպուլյացիայի և վերլուծության համար:

matplotlib.pyplot:

pyplot- ը հիմնականում նախատեսված է ինտերակտիվ սյուժեների և ծրագրային սյուժեների ստեղծման պարզ դեպքերի համար

plotly.express:

Plotly Express- ը Python- ի արտացոլման նոր բարձր մակարդակի գրադարան է: Պարզ շարահյուսություն բարդ գծապատկերների համար:

folium:

folium- ը հեշտացնում է Python- ում շահարկված տվյալների պատկերացումը ինտերակտիվ թռուցիկների քարտեզի վրա:

plotly.graph_objects:

Հիասքանչ Python փաթեթը գոյություն ունի ՝ ստեղծելու, շահարկելու և մատուցելու գրաֆիկական պատկերներ (այսինքն ՝ գծապատկերներ, գծապատկերներ, քարտեզներ և գծապատկերներ), որոնք ներկայացված են տվյալների կառուցվածքներով, որոնք նաև կոչվում են գործիչներ:

ծովածին:

Seaborn- ը Python- ի տվյալների արտացոլման գրադարան է, որը հիմնված է matplotlib- ի վրա: Այն ապահովում է բարձր մակարդակի ինտերֆեյս `գրավիչ և տեղեկատվական վիճակագրական գրաֆիկա նկարելու համար:

ipywidgets:

ipywidgets- ը ինտերակտիվ HTML վիդջեթներ են Jupyter նոթատետրերի, JupyterLab- ի և IPython միջուկի համար: Նոթատետրերը կենդանանում են, երբ օգտագործվում են ինտերակտիվ վիջեթներ:

Այս փաթեթների տեղադրումը պարտադիր չէ, քանի որ մենք այս ծրագիրը ամբողջությամբ կաշխատեինք Google Colab Notebook- ում (թույլ է տալիս այն պահել որպես colab այս ուսանելի ամբողջ ընթացքում):

Քայլ 3. Կարգավորեք ձեր Drive- ը ՝ Colab- ից օգտվելու համար

Կարգավորեք ձեր Drive- ը ՝ Colab- ից օգտվելու համար
Կարգավորեք ձեր Drive- ը ՝ Colab- ից օգտվելու համար
Կարգավորեք ձեր Drive- ը ՝ Colab- ից օգտվելու համար
Կարգավորեք ձեր Drive- ը ՝ Colab- ից օգտվելու համար

Ձեր Drive- ում ստեղծեք թղթապանակ ձեր նոթատետրերի համար:

Տեխնիկապես ասած, այս քայլը բոլորովին անհրաժեշտ չէ, եթե ցանկանում եք պարզապես աշխատել Colab- ում: Այնուամենայնիվ, քանի որ Colab- ն աշխատում է ձեր կրիչից, վատ գաղափար չէ նշել այն թղթապանակը, որտեղ ցանկանում եք աշխատել: Դուք կարող եք դա անել ՝ գնալով ձեր Google Drive և սեղմելով «Նոր», այնուհետև ստեղծելով նոր թղթապանակ:

Այնուհետև կարող եք ընտրել colabnotebook այստեղ կամ սկսել ուղղակիորեն աշխատել colab- ում և միացնել drive- ում գտնվող թղթապանակը, որը ստեղծված է colab աշխատանքի համար:

Սա լավ պրակտիկա է, այլապես մեր ստեղծած colab- ը կարող է խառնաշփոթ թվալ մեր դրայվում:

Քայլ 4: Overրագրի ակնարկ

Այս ծրագրում/նոթատետրում մենք COVID-19- ի համար կստեղծենք հետևյալը.

  • Երկրների ցանկ `ըստ դեպքերի քանակի
  • Ընդհանուր դեպքեր աշխարհի քարտեզի վրա

Քայլ 5 ՝ COVID-19 վահանակ | Մաս 1

COVID-19 կառավարման վահանակ | Մաս 1
COVID-19 կառավարման վահանակ | Մաս 1

Դուք կարող եք ապագայի օգնությամբ այսօր ձեր Python 2 -ից Python 3 տեղափոխել ձեր ծածկագիրը, և այն դեռ գործարկել Python 2 -ում:

Եթե արդեն ունեք Python 3 ծածկագիր, փոխարենը կարող եք ապագան օգտագործել Python 2 -ի հետ համատեղելիություն առաջարկելու համար գրեթե առանց լրացուցիչ աշխատանքի:

ապագան աջակցում է գրադարանի ստանդարտ վերակազմավորմանը (PEP 3108) ՝ մի քանի մեխանիզմներից մեկի միջոցով, ինչը թույլ է տալիս գրադարաններից տեղափոխված ստանդարտ մոդուլներին հասանելի լինել Python 2 անունների և Python 2 -ի իրենց անունների ներքո:

Քայլ 6 ՝ COVID-19 վահանակ | Մաս 2

COVID-19 կառավարման վահանակ | Մաս 2
COVID-19 կառավարման վահանակ | Մաս 2

Փոխազդեցության գործառույթը (ipywidgets.interact) ինքնաբերաբար ստեղծում է օգտվողի միջերեսի (UI) կարգավորումներ ՝ ծածկագիրը և տվյալները փոխազդեցաբար ուսումնասիրելու համար: Դա IPython- ի վիջեթների օգտագործմամբ սկսելու ամենահեշտ ձևն է:

Քայլ 7: COVID-19 վահանակ | Մաս 3

COVID-19 կառավարման վահանակ | Մաս 3
COVID-19 կառավարման վահանակ | Մաս 3

display_html- ը ցուցադրում է օբյեկտի HTML ներկայացուցչությունները: Այսինքն, այն փնտրում է գրանցված ցուցադրման մեթոդներ, ինչպիսիք են _repr_html_, և կանչում դրանք ՝ ցուցադրելով արդյունքը, եթե այդպիսիք կան:

Քայլ 8 ՝ COVID-19 վահանակ | Մաս 4

COVID-19 կառավարման վահանակ | Մաս 4
COVID-19 կառավարման վահանակ | Մաս 4

Փաթեթների ցանկը (ինչպես բացատրված է 2 -րդ քայլում) ներմուծվում է ծրագիր:

Քայլ 9 ՝ COVID-19 վահանակ | Մաս 5

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

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

վերականգնված_դֆ = 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')

Ինչպես բացատրված է 1 -ին քայլում, տվյալները կարդալով պահոցից որպես.csv ֆայլ:

Քայլ 10 ՝ COVID-19 վահանակ | Մաս 6

COVID-19 կառավարման վահանակ | Մաս 6
COVID-19 կառավարման վահանակ | Մաս 6

Մենք df սյունակի անունները կվերանվանենք փոքրատառ

Քայլ 11 ՝ COVID-19 վահանակ | Մաս 7

COVID-19 կառավարման վահանակ | Մաս 7
COVID-19 կառավարման վահանակ | Մաս 7

Մենք նահանգը/նահանգը փոխում ենք նահանգի և երկիրը/տարածաշրջանը `երկիր

Քայլ 12: COVID-19 վահանակ | Մաս 8

COVID-19 կառավարման վահանակ | Մաս 8
COVID-19 կառավարման վահանակ | Մաս 8

Մենք կհաշվարկենք հաստատված, մահացած և ապաքինված դեպքերի ընդհանուր թիվը:

Քայլ 13 ՝ COVID-19 վահանակ | Մաս 9

COVID-19 կառավարման վահանակ | Մաս 9
COVID-19 կառավարման վահանակ | Մաս 9
COVID-19 կառավարման վահանակ | Մաս 9
COVID-19 կառավարման վահանակ | Մաս 9

Մենք կցուցադրենք ընդհանուր վիճակագրությունը HTML ձևաչափով, քանի որ մենք քայլ առ քայլ հատուկ գրադարաններ ենք ներմուծել 7 -րդ փուլում ՝ ստորև.

IPython.core.display ներմուծման ցուցադրումից, HTML- ից

Քայլ 14. Երկրների ցանկ (լավագույն 10) ըստ դեպքերի քանակի | COVID-19 վահանակ

Երկրների ցանկ (Top10) ըստ դեպքերի թվի | COVID-19 վահանակ
Երկրների ցանկ (Top10) ըստ դեպքերի թվի | COVID-19 վահանակ
Երկրների ցանկ (Top10) ըստ դեպքերի թվի | COVID-19 վահանակ
Երկրների ցանկ (Top10) ըստ դեպքերի թվի | COVID-19 վահանակ

fig = go. FigureWidget (հատակագիծ = go. Layout ())

FigureWidget գործառույթը վերադարձնում է դատարկ FigureWidget օբյեկտ `կանխադրված x և y առանցքներով: Jupyter ինտերակտիվ վիջեթներն ունեն դասավորության հատկանիշ, որը բացահայտում է մի շարք CSS հատկություններ, որոնք ազդում են վիջեթների ձևավորման վրա:

pd. DataFrame

ստեղծում է տվյալների բազա ՝ օգտագործելով բառարան, երեք գույնի նախապատմությամբ ՝ արդյունքը լրացնելու համար:

def show_latest_cases (TOP)

տեսակավորում է արժեքները հաստատված նվազման կարգով:

փոխազդել (ցույց տալ_լուրագույն դեպքեր, TOP = '10 ')

Փոխազդեցության գործառույթը (ipywidgets.interact) ինքնաբերաբար ստեղծում է օգտվողի միջերեսի (UI) կարգավորումներ ՝ ծածկագիրը և տվյալները փոխազդեցաբար ուսումնասիրելու համար:

ipywLayout = widgets. Layout (եզրագիծ = 'ամուր 2px կանաչ')

ստեղծում է կանաչ գույնի 2px լայնությամբ գծեր, որի արդյունքում ցուցադրվում է:

Քայլ 15. Աշխարհի քարտեզի ընդհանուր դեպքեր | COVID-19 վահանակ

Ընդհանուր դեպքեր աշխարհի քարտեզի վրա | COVID-19 վահանակ
Ընդհանուր դեպքեր աշխարհի քարտեզի վրա | COVID-19 վահանակ
Ընդհանուր դեպքեր աշխարհի քարտեզի վրա | COVID-19 վահանակ
Ընդհանուր դեպքեր աշխարհի քարտեզի վրա | COVID-19 վահանակ

world_map = folium. Map (գտնվելու վայրը = [11, 0], սալիկներ = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)

Folium- ը գործիք է, որը ձեզ դարձնում է քարտեզագրող Աստծու տեսք, մինչդեռ ամբողջ աշխատանքը կատարվում է հետևի ծայրում: Դա Python փաթաթան է թռուցիկ կոչվող գործիքի համար: js: Մենք հիմնականում նրան տալիս ենք նվազագույն ցուցումներ, JS- ն շատ աշխատանք է կատարում հետին պլանում, և մենք ստանում ենք շատ, շատ թույն քարտեզներ: Հիանալի բան է: Հստակության համար քարտեզը տեխնիկապես կոչվում է «Թռուցիկների քարտեզ»: Գործիքը, որը թույլ եք տալիս դրանք անվանել Python- ում, կոչվում է «Folium»:

Folium- ը հեշտացնում է Python- ում շահարկված տվյալների պատկերացումը ինտերակտիվ թերթիկների քարտեզի վրա: Այն հնարավորություն է տալիս ինչպես կապել տվյալները քարտեզին քորոպլետի պատկերացումների համար, այնպես էլ Վինսենթ/Վեգայի պատկերացումները փոխանցել որպես մարկերներ քարտեզի վրա:

միջակայքում i- ի համար (0, լեն (հաստատված_դֆ))

For for loop- ում մենք կստանանք բոլոր հաստատված դեպքերը քայլ 9 -ի ձևակերպումից:

folium. Շրջանակ

Մենք ստեղծում ենք պղպջակների քարտեզ ՝ օգտագործելով folium. Circle () ՝ անընդհատ շրջանակներ ավելացնելու համար:

գտնվելու վայրը = [confirm_df.iloc ['lat'], confirm_df.iloc ['երկար'], 5 -րդ քայլից հաստատված դեպքերի հաստատված_դ -ից մենք դուրս ենք բերում յուրաքանչյուր վայրի/երկրի տվյալներին համապատասխանող լայնության և երկայնության արժեքները:

շառավիղ = (int ((np.log (confirm_df.iloc [i, -1] +1.00001))))+0.2)*50000, ստեղծելով շառավիղի օբյեկտ `աշխարհի քարտեզի վրա պղպջակների շրջանակները գծելու համար:

գույն = 'կարմիր', fill_color = 'ինդիգո', պղպջակների շրջանակի ուրվագիծը դարձնելով կարմիր, իսկ ներքին հատվածը ՝ ինդիգո:

և վերջապես գծագրում ենք world_map- ի շրջանակները ՝ օգտագործելով tooltip օբյեկտը:

Քայլ 16: Արդյունքը:

Արդյունքը!
Արդյունքը!
Արդյունքը!
Արդյունքը!

Հավելվածը ցույց է տալիս

  1. Երկրների ցանկ `ըստ դեպքերի քանակի
  2. Ընդհանուր դեպքեր աշխարհի քարտեզի վրա

Խորհուրդ ենք տալիս: