Агуулгын хүснэгт:

Дэлхийн газрын зураг дээрх COVID19 хяналтын самбар (Python ашиглан): 16 алхам
Дэлхийн газрын зураг дээрх COVID19 хяналтын самбар (Python ашиглан): 16 алхам

Видео: Дэлхийн газрын зураг дээрх COVID19 хяналтын самбар (Python ашиглан): 16 алхам

Видео: Дэлхийн газрын зураг дээрх COVID19 хяналтын самбар (Python ашиглан): 16 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 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. Уайтинг Инженерийн Сургууль нь github дансаараа дамжуулан COVID19 статистик мэдээллийг нийтэлж байна.

github.com/CSSEGISandData

Эхнээс нь өнөөг хүртэл COVID19 -ийн улс орнуудын ухаалаг статистик мэдээллийг репозиторт нийтэлдэг.

Тиймээс бид. CSV форматтай файлуудыг (улс орнуудын эгнээний дагуу ангилсан) ашиглаж, дэлхийн газрын зураг дээрх өгөгдлийг зурах болно.

Алхам 2: Хөтөлбөрт ашигласан Python багц/номын сан

Бидний ашиглах python багц, номын сангийн жагсаалтыг доор харуулав. Тэд тус бүрийн зорилгыг тоймлон хүргэе.

намуухан:

NumPy бол Python програмчлалын хэлний номын сан бөгөөд том, олон хэмжээст массив, матрицын дэмжлэг, эдгээр массив дээр ажиллах өндөр түвшний математикийн функцуудын цуглуулга юм.

панда:

pandas бол өгөгдөл боловсруулах, дүн шинжилгээ хийх зориулалттай Python програмчлалын хэл дээр зориулагдсан програм хангамжийн номын сан юм.

matplotlib.pyplot:

pyplot нь ихэвчлэн интерактив хэсгүүдэд зориулагдсан бөгөөд програмчлалын схем үүсгэх энгийн тохиолдлуудад зориулагдсан болно

илэрхийлэх:

Plotly Express бол өндөр түвшний Python дүрслэх номын сан юм. Нарийн төвөгтэй диаграмын энгийн синтакс.

folium:

folium нь интерактив ухуулах хуудасны газрын зураг дээр Python дээр ашигласан өгөгдлийг төсөөлөхөд хялбар болгодог.

plotly.graph_objects:

Python багц нь өгөгдлийн бүтцээр дүрслэгдсэн график дүрсийг (жишээ нь диаграм, график, газрын зураг, диаграм) үүсгэх, удирдах, хөрвүүлэхэд зориулагдсан болно.

далайн төрсөн:

Seaborn бол matplotlib дээр суурилсан Python мэдээллийн харааны номын сан юм. Энэ нь сонирхол татахуйц, мэдээлэл сайтай статистик график зурах өндөр түвшний интерфейсийг өгдөг.

ipywidgets:

ipywidgets нь Jupyter дэвтэр, JupyterLab болон IPython цөмд зориулсан интерактив HTML виджетүүд юм. Тэмдэглэлийн дэвтэр нь интерактив виджет ашиглах үед амьд болдог.

Бид энэ програмыг Google Colab Notebook дээр бүхэлд нь ажиллуулж байгаа тул эдгээр багцыг суулгах шаардлагагүй (энэ зааварчилгааны туршид колаб хэлбэрээр хадгалах боломжийг олгоно уу).

Алхам 3: Драйваа тохируулах, Colab ашиглах

Colab ашиглахын тулд драйваа тохируулж байна
Colab ашиглахын тулд драйваа тохируулж байна
Colab ашиглахын тулд драйваа тохируулж байна
Colab ашиглахын тулд драйваа тохируулж байна

Драйв дээрээ тэмдэглэлийн дэвтэртээ хавтас үүсгээрэй.

Техникийн хувьд, хэрэв та дөнгөж Colab -д ажиллаж эхлэхийг хүсч байвал энэ алхам огт шаардлагагүй юм. Гэсэн хэдий ч Колаб таны хөтөч дээр ажиллаж байгаа тул ажиллахыг хүсч буй фолдероо зааж өгөх нь тийм ч муу биш юм. Та үүнийг Google Драйв руу ороод "Шинэ" дээр дараад шинэ хавтас үүсгэж болно.

Дараа нь та энд colabnotebook үүсгэх эсвэл 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')

баталгаажсан_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')

сэргээсэн_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 -р хэсэг

7 -р алхамд тодорхой номын санг доороос импортолсон тул бид нийт статистикийг HTML форматаар харуулах болно.

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 (хил = 'хатуу 2 пиксел ногоон')

Үр дүнг харуулахын тулд ногоон өнгийн 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 нь интерактив Leaflet газрын зураг дээр Python дээр ашигласан өгөгдлийг төсөөлөхөд хялбар болгодог. Энэ нь өгөгдлийг choropleth дүрслэлд зориулж газрын зураг дээр холбох, мөн Винсент/Вега дүрслэлийг газрын зураг дээр тэмдэглэх боломжийг олгодог.

i -ийн хувьд (0, len (баталгаажсан_df))

For давталтын хувьд бид батлагдсан бүх тохиолдлыг 9 -р алхамаас авах болно.

дугуй

Бид folium. Circle () -ийг ашиглан тойрог дахин нэмэхийн тулд бөмбөлөг зураг үүсгэнэ.

байршил = [баталгаажсан_df.iloc ['лат'], баталгаажсан_df.iloc ['урт'], 5 -р алхамаас батлагдсан тохиолдлуудын баталгаажсан_df -ээс бид байршил/улс орны өгөгдөл бүрт харгалзах өргөрөг ба уртрагийн утгыг гаргаж авдаг.

радиус = (int ((np.log (баталгаажсан_df.iloc [i, -1] +1.00001)))+0.2)*50000, Дэлхийн газрын зураг дээрх бөмбөлөгүүдийг улс орон даяар дүрслэх радиус объект бий болгох.

color = 'red', fill_color = 'indigo', бөмбөлгийн тойргийн тоймыг улаан, дотоод хэсгийг индиго шиг болгоно.

эцэст нь tooltip объектыг ашиглан world_map дээр тойрог зурах.

Алхам 16: Үр дүн

Үр дүн!
Үр дүн!
Үр дүн!
Үр дүн!

Хавсралт харуулж байна:

  1. Хэргийн тоогоор улс орнуудын жагсаалт
  2. Дэлхийн газрын зураг дээрх нийт тохиолдлууд

Зөвлөмж болгож буй: