Mundarija:
- Ta'minotlar
- 1 -qadam: Backend jarayonini tushunish (ma'lumotlar bazasi)
- 2 -qadam: Dasturda ishlatiladigan Python paketlari/kutubxonalari
- 3 -qadam: Diskni Colab -dan foydalanish uchun sozlash
- 4 -qadam: Dastur haqida umumiy ma'lumot
- 5-qadam: COVID-19 asboblar paneli | 1 -qism
- 6-qadam: COVID-19 asboblar paneli | 2 -qism
- 7-qadam: COVID-19 asboblar paneli | 3 -qism
- 8-qadam: COVID-19 asboblar paneli | 4 -qism
- 9-qadam: COVID-19 asboblar paneli | 5 -qism
- 10-qadam: COVID-19 asboblar paneli | 6 -qism
- 11-qadam: COVID-19 asboblar paneli | 7 -qism
- 12-qadam: COVID-19 asboblar paneli | 8 -qism
- 13-qadam: COVID-19 asboblar paneli | 9 -qism
- 14 -qadam: Ishlar soni bo'yicha mamlakatlar ro'yxati (Top10) | COVID-19 boshqaruv paneli
- 15 -qadam: Jahon xaritasidagi jami holatlar | COVID-19 boshqaruv paneli
- 16 -qadam: Natija
Video: Jahon xaritasida COVID19 asboblar paneli (Python yordamida): 16 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Bilaman, deyarli barchamiz COVID19 haqida ko'p ma'lumotga egamiz.
Va bu ko'rsatma ko'pikli xaritani yaratish, dunyo xaritasida real vaqtda ma'lumotlarni (holatlar) tuzish haqida.
Qulaylik uchun men dasturni Github omboriga qo'shdim:
github.com/backshell/COVID19dashboard
Ta'minotlar
Hech qanday ta'minot talab qilinmaydi va biz butun kompyuter dasturini GoogleColab Notebook orqali bajaramiz. Shunday qilib, boshlash uchun Gmail hisobi etarli bo'lishi kerak.
Colab Notebooks / Colaboratory - bu Google -ning tadqiqot loyihasi bo'lib, u mashinasozlik bo'yicha ta'lim va tadqiqotlarni tarqatishga yordam beradi. Bu Jupyter noutbuk muhiti bo'lib, u hech qanday sozlashni talab qilmaydi va butunlay bulutda ishlaydi.
Va sizning mashinangizda o'rnatish talab qilinmaydi.
1 -qadam: Backend jarayonini tushunish (ma'lumotlar bazasi)
Har bir dasturiy ta'minot dasturlarining ko'pchiligi ma'lumotlarni orqa tomondan oladi va natija formatlanadi va oldingi qismga chiqariladi. Va bu maxsus dastur uchun bizga COVID19 real ma'lumotlari kerak bo'ladi.
G. W. C. Whiting muhandislik maktabi o'zining github hisobi orqali COVID19 statistikasini e'lon qildi:
github.com/CSSEGISandData
Boshidan to shu kungacha COVID19 mamlakatlari bo'yicha statistik ma'lumotlar omborida e'lon qilinadi.
Shunday qilib, biz. CSV formatlangan fayllardan foydalanamiz (mamlakatlar qatoriga qarab) va ma'lumotlarni dunyo xaritasida tuzamiz.
2 -qadam: Dasturda ishlatiladigan Python paketlari/kutubxonalari
Quyida biz foydalanadigan python paketlar va kutubxonalar ro'yxati keltirilgan. Keling, ularning har birining maqsadi haqida qisqacha ma'lumot beray.
befarq:
NumPy-bu Python dasturlash tili uchun kutubxona bo'lib, u katta, ko'p o'lchovli massivlar va matritsalarni qo'llab-quvvatlaydi, shu qatorda ushbu massivlarda ishlash uchun yuqori darajadagi matematik funktsiyalarni to'playdi.
pandalar:
pandas - bu Python dasturlash tili uchun ma'lumotlar bilan ishlash va tahlil qilish uchun yozilgan dasturiy kutubxona.
matplotlib.pyplot:
pyplot asosan interaktiv syujetlar va dasturli syujet yaratishning oddiy holatlari uchun mo'ljallangan
plotly.express:
Plotly Express-bu yangi Python vizualizatsiya kutubxonasi. Murakkab jadvallar uchun oddiy sintaksis.
barg:
folium interaktiv varaqalar xaritasida Python -da ishlatilgan ma'lumotlarni vizualizatsiya qilishni osonlashtiradi.
plotly.graph_objects:
Python -ning aniq to'plami, shuningdek, raqamlar deb ataladigan ma'lumotlar tuzilmalari bilan tasvirlangan grafik figuralarni (ya'ni jadvallar, chizmalar, xaritalar va diagrammalar) yaratish, o'zgartirish va ko'rsatish uchun mavjud.
dengizda tug'ilgan:
Seaborn - bu matplotlibga asoslangan Python ma'lumotlarini vizualizatsiya qilish kutubxonasi. Bu jozibali va ma'lumotli statistik grafiklarni chizish uchun yuqori darajali interfeysni ta'minlaydi.
ipywidjetlar:
ipywidgets - bu Jupyter noutbuklari, JupyterLab va IPython yadrosi uchun interaktiv HTML vidjetlari. Noutbuklar interaktiv vidjetlardan foydalanilganda jonlanadi.
Bu paketlarni o'rnatish shart emas, chunki biz bu dasturni butunlay Google Colab daftarchasida ishlaymiz (bu ko'rsatma davomida uni kolab sifatida saqlaylik).
3 -qadam: Diskni Colab -dan foydalanish uchun sozlash
Diskda daftarlaringiz uchun papka yarating.
Texnik jihatdan, agar siz Colab -da ishlashni boshlamoqchi bo'lsangiz, bu qadam umuman kerak emas. Biroq, Colab sizning diskingizda ishlamayotganligi sababli, siz ishlashni xohlagan papkani ko'rsatish yomon emas. Siz buni Google Disk -ga o'tib, "Yangi" tugmasini bosish va keyin yangi papka yaratish orqali qilishingiz mumkin.
Keyin siz bu erda colabnotebook yaratishni tanlashingiz yoki to'g'ridan -to'g'ri kolabda ishlashni boshlashingiz va kolbada ishlash uchun yaratilgan diskdagi papkani bog'lashingiz mumkin.
Bu yaxshi amaliyot, aks holda biz yaratgan kolab bizning haydovchimiz uchun chalkash ko'rinishi mumkin.
4 -qadam: Dastur haqida umumiy ma'lumot
Ushbu dastur/daftarda biz COVID-19 uchun quyidagilarni yaratgan bo'lardik:
- Ishlar soni bo'yicha davlatlar ro'yxati
- Jahon xaritasida jami holatlar
5-qadam: COVID-19 asboblar paneli | 1 -qism
Siz Python 2 -dan Python 3 -ga kodingizni o'tkazishga yordam berish uchun kelajakdan foydalanishingiz mumkin va hali ham Python 2 -da ishlaydi.
Agar sizda allaqachon Python 3 kodi bo'lsa, siz Python 2 -ning mos kelishini taklif qilish uchun kelajakdan foydalanishingiz mumkin, deyarli hech qanday qo'shimcha ishsiz.
kelajakda kutubxonaning standart qayta tashkil etilishini (PEP 3108) bir nechta mexanizmlardan biri yordamida qo'llab -quvvatlaydi, bu ko'pchilik ko'chirilgan standart kutubxona modullariga Python 3 nomi va Python 2 dagi joylashuvi ostida kirishga imkon beradi.
6-qadam: COVID-19 asboblar paneli | 2 -qism
O'zaro aloqa funktsiyasi (ipywidgets.interact) kod va ma'lumotlarni interaktiv o'rganish uchun avtomatik ravishda foydalanuvchi interfeysi (UI) boshqaruvini yaratadi. Bu IPython vidjetlaridan foydalanishni boshlashning eng oson yo'li.
7-qadam: COVID-19 asboblar paneli | 3 -qism
display_html ob'ektning HTML ko'rinishini ko'rsatadi. Ya'ni, _repr_html_ kabi ro'yxatdan o'tgan ko'rsatish usullarini qidiradi va agar mavjud bo'lsa, natijani ko'rsatib, ularni chaqiradi.
8-qadam: COVID-19 asboblar paneli | 4 -qism
Paketlar ro'yxati (2 -bosqichda aytilganidek) dasturga import qilinadi.
9-qadam: COVID-19 asboblar paneli | 5 -qism
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')
tasdiqlangan_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')
qutqarilgan_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 -qadamda tushuntirilganidek, ma'lumotlarni ombordan.csv fayli sifatida o'qish.
10-qadam: COVID-19 asboblar paneli | 6 -qism
Biz df ustun nomlarini kichik harflarga o'zgartiramiz
11-qadam: COVID-19 asboblar paneli | 7 -qism
Biz viloyatni/shtatni shtatga, mamlakatni/viloyatni mamlakatga o'zgartiramiz
12-qadam: COVID-19 asboblar paneli | 8 -qism
Biz tasdiqlangan, o'lim va tiklangan holatlarning umumiy sonini hisoblaymiz.
13-qadam: COVID-19 asboblar paneli | 9 -qism
Biz umumiy statistikani HTML formatida ko'rsatamiz, chunki biz 7 -bosqichda ma'lum kutubxonalarni quyida keltirilganidek import qildik:
IPython.core.display import displeyidan, HTML
14 -qadam: Ishlar soni bo'yicha mamlakatlar ro'yxati (Top10) | COVID-19 boshqaruv paneli
fig = go. FigureWidget (layout = go. Layout ())
FigureWidget funktsiyasi bo'sh x va y o'qlari bo'lgan bo'sh FigureWidget ob'ektini qaytaradi. Jupyter interaktiv vidjetlarida vidjetlarning joylashuviga ta'sir ko'rsatadigan CSS -ning bir qancha xususiyatlarini ochib beradigan tartib xususiyati mavjud.
pd. DataFrame
Lug'at yordamida ma'lumotlar ramkasini yaratadi, natijada to'ldirilishi uchun uchta rangli fon.
def show_latest_cases (TOP)
tasdiqlangan kamayish tartibida qiymatlarni saralaydi.
o'zaro ta'sir qilish (show_latest_cases, TOP = '10 ')
O'zaro aloqa funktsiyasi (ipywidgets.interact) kod va ma'lumotlarni interaktiv o'rganish uchun avtomatik ravishda foydalanuvchi interfeysi (UI) boshqaruvini yaratadi.
ipywLayout = vidjetlar. Layout (chegara = "qattiq 2 piksel yashil")
natijani ko'rsatish uchun yashil rangli 2 pikselli kenglikdagi chiziqlar bilan chegara hosil qiladi.
15 -qadam: Jahon xaritasidagi jami holatlar | COVID-19 boshqaruv paneli
world_map = folium. Map (manzil = [11, 0], plitkalar = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)
Folium - bu sizni Xudoni xaritaga o'xshatadigan vosita, hamma ish orqa tomondan bajariladi, bu leaflet.js deb nomlangan asbob uchun Python. Biz asosan minimal ko'rsatmalarni beramiz, JS juda ko'p fonda ishlaydi va biz juda ajoyib xaritalarni olamiz. Bu ajoyib narsalar. Aniqlik uchun, xarita texnik jihatdan "varaqalar xaritasi" deb nomlanadi. Python -da ularni chaqiradigan asbob "Folium" deb nomlanadi.
Folium interaktiv Leaflet xaritasida Python -da ishlatilgan ma'lumotlarni vizualizatsiya qilishni osonlashtiradi. Bu ma'lumotni xaroplet vizualizatsiyasi uchun xaritaga ulashga, shuningdek Vinsent/Vega vizualizatsiyasini xaritada marker sifatida o'tkazishga imkon beradi.
i uchun diapazonda (0, len (tasdiqlangan_df))
For loopida biz tasdiqlangan barcha holatlarni 9 -qadam formulasidan olamiz.
doira
Doiralarni ketma -ket qo'shish uchun folium. Circle () yordamida qabariq xaritasini tuzamiz.
manzil = [tasdiqlangan_df.iloc ['lat'], tasdiqlangan_df.iloc ['uzun'],
5 -bosqichdan tasdiqlangan holatlarning tasdiqlangan_dfidan biz har bir joy/mamlakat ma'lumotlariga mos keladigan kenglik va uzunlik qiymatlarini chiqaramiz.
radius = (int ((np.log (tasdiqlangan_df.iloc [i, -1] +1.00001)))+0,2)*50000,
mamlakatlar bo'ylab dunyo xaritasida qabariq aylanalarni chizish uchun radiusli ob'ekt yaratish.
rang = 'qizil', fill_color = 'indigo',
pufakchali aylananing konturini qizil, ichki qismini esa indigo qilish.
va nihoyat, tooltip ob'ektidan foydalanib, world_map -da doiralarni chizish.
16 -qadam: Natija
Qo'shimchada ko'rsatilgan:
- Ishlar soni bo'yicha davlatlar ro'yxati
- Jahon xaritasida jami holatlar
Tavsiya:
COVID-19 JSST asboblar paneli: 8 qadam (rasmlar bilan)
JSSTning COVID-19 asboblar paneli: Bu ko'rsatmalarni ESP8266/ESP32 va LCD yordamida JSST boshqaruv panelida COVID-19 holatini yaratish uchun ishlatish ko'rsatiladi
COVID-19 asboblar paneli (oddiy va oson): 4 qadam
COVID-19 asboblar paneli (oddiy va oson): Hamma joyda yangi COVID-19 virusi avj olgan. Mamlakatda mavjud COVID-19 ssenariysini kuzatib turish zarur bo'ldi. Shunday qilib, uyda bo'lganimda, bu men o'ylagan loyiha edi: " Ma'lumotlar paneli " - Da
ESP8266 va OLED yordamida jonli Covid19 kuzatuvchisi - Haqiqiy vaqtda Covid19 asboblar paneli: 4 qadam
ESP8266 va OLED yordamida jonli Covid19 kuzatuvchisi | Haqiqiy vaqtda Covid19 asboblar paneli: Techtronic Harsh veb -saytiga tashrif buyuring: http: //techtronicharsh.com Hamma joyda yangi korona virusi (COVID19) avj olgan. Dunyoda COVID-19ning hozirgi ssenariysini kuzatib turish zarur bo'lib qoldi, shuning uchun uyda bo'lganingizda, bu
Dark Sky API PyPortal va ob -havo asboblar paneli: 6 qadam
Dark Sky API PyPortal & Weather Dashboard: Bu loyiha biz ilgari qilgan Dark Sky API ob -havo asboblar panelidir. Bu safar Raspberry Pi o'rniga biz ob -havo ma'lumotlarini ko'rsatish uchun Adafruit PyPortal -dan foydalanamiz va bu ma'lumotlarni dastlabki holatga yuboramiz. Birining ishi uchun ikkita boshqaruv paneli
LTE Arduino GPS Tracker + IoT asboblar paneli (1 -qism): 6 qadam (rasmlar bilan)
LTE Arduino GPS Tracker + IoT asboblar paneli (1 -qism): Kirish Bolalar, nima bo'ldi! Bu ko'rsatma-Arduino uchun Botletics LTE/NB-IoT qalqonidan foydalanish bo'yicha birinchi yo'riqnomamning davomi, shuning uchun agar siz hali qilmagan bo'lsangiz, qalqonni qanday ishlatishni va uning nima ekanligini yaxshi ko'rib chiqing.