Мазмұны:

Әлем картасындағы COVID19 бақылау тақтасы (Python көмегімен): 16 қадам
Әлем картасындағы COVID19 бақылау тақтасы (Python көмегімен): 16 қадам

Бейне: Әлем картасындағы COVID19 бақылау тақтасы (Python көмегімен): 16 қадам

Бейне: Әлем картасындағы COVID19 бақылау тақтасы (Python көмегімен): 16 қадам
Бейне: Басқа тышты деген осы 😡 2024, Желтоқсан
Anonim
Әлем картасында COVID19 бақылау тақтасы (Python көмегімен)
Әлем картасында COVID19 бақылау тақтасы (Python көмегімен)

Мен білемін, бәріміз дерлік COVID19 туралы көп ақпарат білеміз.

Бұл нұсқаулық көпіршікті картаны құру туралы, нақты уақыттағы деректерді (жағдайларды) әлемдік картаға салу туралы.

Ыңғайлы болу үшін мен бағдарламаны Github репозиторийіне қостым:

github.com/backshell/COVID19dashboard

Жабдықтар

Мұндай жабдық қажет емес, сондықтан біз компьютерлік бағдарламаны GoogleColab Notebook арқылы жасаймыз. Сондықтан бастау үшін Gmail тіркелгісі жеткілікті болуы керек.

Colab Notebooks / Colaboratory - бұл Google -дің машиналық оқыту мен зерттеуді таратуға көмектесетін зерттеу жобасы. Бұл Jupyter ноутбук ортасы, ол орнатуды қажет етпейді және толығымен бұлтта жұмыс істейді.

Және сіздің машинаңызда орнатудың қажеті жоқ.

1 -қадам: Backend процесін түсіну (мәліметтер базасы)

Барлық бағдарламалық жасақтамалардың көпшілігі деректерді артқы жағынан алады, ал нәтиже форматталады және алдыңғы жағына шығарылады. Бұл нақты бағдарлама үшін бізге COVID19 нақты деректері қажет.

G. W. C. Уайтинг инженерлік мектебі COVID19 статистикасын өзінің github аккаунты арқылы жариялайды:

github.com/CSSEGISandData

Басынан бастап осы уақытқа дейін репозиторийде COVID19 елдерінің дана статистикасы жарияланады.

Сондықтан біз олардың. CSV форматталған файлдарын қолданамыз (елдердің қатарына қарай) және деректерді әлемдік картаға саламыз.

2 -қадам: Бағдарламада қолданылатын Python пакеттері/кітапханалары

Төменде біз қолданатын python пакеттері мен кітапханаларының тізімі берілген. Олардың әрқайсысының мақсатына шолу жасауға рұқсат етіңіз.

ессіздік:

NumPy-бұл Python бағдарламалау тілінің кітапханасы, ол үлкен массивтер мен матрицаларға қолдау көрсетеді, сонымен қатар осы массивтерде жұмыс істеу үшін жоғары деңгейлі математикалық функциялардың үлкен жиынтығын қосады.

панда:

pandas - бұл Python бағдарламалау тіліне арналған деректерді өңдеуге және талдауға арналған бағдарламалық кітапхана.

matplotlib.pyplot:

pyplot негізінен интерактивті сюжеттерге және бағдарламалық сюжетті құрудың қарапайым жағдайларына арналған

plotly.express:

Plotly Express-бұл жоғары деңгейдегі Python визуализациясының жаңа кітапханасы. Күрделі диаграммалар үшін қарапайым синтаксис.

фолиум:

folium интерактивті парақша картасында Python -да өңделген деректерді визуализациялауды жеңілдетеді.

plotly.graph_objects:

Python сюжеттік пакеті фигуралар деп аталатын мәліметтер құрылымымен ұсынылған графикалық фигураларды (яғни диаграммалар, сюжеттер, карталар мен диаграммалар) құру, өңдеу және көрсету үшін бар.

теңізде туған:

Seaborn - бұл матплотлибке негізделген Python деректерді визуализациялау кітапханасы. Ол тартымды және ақпараттық статистикалық графиканы салуға арналған жоғары деңгейлі интерфейсті ұсынады.

ipywidgets:

ipywidgets - бұл Jupyter жазу кітапшаларына, JupyterLab пен IPython ядросына арналған интерактивті HTML виджеттері. Ноутбуктер интерактивті виджеттер қолданылған кезде өмірге келеді.

Бұл пакеттерді орнату талап етілмейді, өйткені біз бұл бағдарламаны Google Colab Notebook -те толығымен жұмыс істейтін боламыз (оны нұсқаулықта колаб ретінде сақтауға рұқсат етіңіз).

3 -қадам: Дискіні Colab пайдалану үшін орнату

Colab пайдалану үшін дискіні орнату
Colab пайдалану үшін дискіні орнату
Colab пайдалану үшін дискіні орнату
Colab пайдалану үшін дискіні орнату

Дискіде жазу кітапшаларына қалта жасаңыз.

Техникалық тұрғыдан алғанда, егер сіз Colab -те жұмыс жасағыңыз келсе, бұл қадам қажет емес. Алайда, Colab сіздің дискіден жұмыс істеп жатқандықтан, жұмыс жасағыңыз келетін қалтаны көрсету жаман емес. Мұны Google Drive -қа кіріп, «Жаңа» түймесін басып, содан кейін жаңа қалта жасау арқылы жасауға болады.

Содан кейін сіз бұл жерде колабнотбук жасауды немесе colab -да тікелей жұмыс істеуді және colab жұмысы үшін жасалған дискідегі қалтаны байланыстыруды таңдай аласыз.

Бұл жақсы тәжірибе, әйтпесе біз жасаған колаб біздің дискіде лас болып көрінуі мүмкін.

4 -қадам: Бағдарламаға шолу

Бұл бағдарламада/жазу кітапшасында біз 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 3 атауымен және 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_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')

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 бақылау тақтасы

Істер саны бойынша елдер тізімі (Топ10) | COVID-19 бақылау тақтасы
Істер саны бойынша елдер тізімі (Топ10) | COVID-19 бақылау тақтасы
Істер саны бойынша елдер тізімі (Топ10) | COVID-19 бақылау тақтасы
Істер саны бойынша елдер тізімі (Топ10) | COVID-19 бақылау тақтасы

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

FigureWidget функциясы x және y осьтері бар бос FigureWidget нысанын қайтарады. Jupyter интерактивті виджеттерінде виджеттердің орналасуына әсер ететін CSS -тің бірқатар қасиеттерін көрсететін орналасу атрибуты бар.

pd. DataFrame

нәтижені толтыру үшін үш түсті фонмен сөздікті қолдана отырып, деректер қорын жасайды.

def show_latest_cases (TOP)

мәндерді расталған кему ретімен сұрыптайды.

өзара әрекеттесу (show_latest_cases, TOP = '10 ')

Өзара әрекеттесу функциясы (ipywidgets.interact) код пен деректерді интерактивті түрде зерттеуге арналған пайдаланушы интерфейсін (UI) басқару элементтерін автоматты түрде жасайды.

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

нәтижені көрсету үшін жасыл түсті 2 пиксельді жолдармен жиек жасайды.

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 - бұл сізді Құдайдың картасына ұқсайтын құрал, ал барлық жұмыс артқы жағында орындалады, бұл leaflet.js деп аталатын құралға арналған Python қаптамасы. Біз оған ең аз нұсқаулар береміз, JS фонда көп жұмыс жасайды және біз өте керемет карталарды аламыз. Бұл керемет заттар. Түсінікті болу үшін карта техникалық түрде «парақша картасы» деп аталады. Оларды Python -да шақыратын құрал «Folium» деп аталады.

Folium интерактивті парақша картасында Python -да өңделген деректерді визуализациялауды жеңілдетеді. Бұл хороплетті визуализация үшін картаны байланыстыруға, сондай -ақ Винсент/Вега визуализациясын картада маркер ретінде беруге мүмкіндік береді.

i үшін диапазонда (0, len (расталған_df))

For циклінде біз барлық расталған жағдайларды 9 -қадам формуласынан аламыз.

фолий. Шеңбер

Біз шеңберді қайталап қосу үшін folium. Circle () көмегімен көпіршікті картаны жасаймыз.

орын = [confirm_df.iloc ['лат'], расталған_df.iloc ['ұзын'], 5 -қадамдағы расталған жағдайлардың расталған_df -сінен біз әр жер/ел деректеріне сәйкес ендік пен бойлық мәндерін шығарамыз.

радиус = (int ((np.log (confirm_df.iloc [i, -1] +1.00001)))+0.2)*50000, әлем картасындағы көпіршікті шеңберлерді әр түрлі елдер бойынша салу үшін радиус объектісін құру.

түс = 'қызыл', fill_color = 'индиго', көпіршікті шеңбердің контурын қызыл, ал ішкі аймағын индиго етіп жасау.

және ақырында tooltip объектісін пайдалана отырып, world_map -те шеңберлерді салу.

16 -қадам: Нәтиже

Нәтиже!
Нәтиже!
Нәтиже!
Нәтиже!

Қосымша көрсетеді:

  1. Істер саны бойынша елдер тізімі
  2. Әлем картасындағы жалпы жағдайлар

Ұсынылған: