Мазмуну:
- Жабдуулар
- 1 -кадам: Backend процессин түшүнүү (маалымат базасы)
- 2 -кадам: Программада колдонулган Python пакеттери/китепканалары
- 3 -кадам: Дискиңизди орнотуу, Colab колдонуу үчүн
- 4 -кадам: Программаны карап чыгуу
- 5-кадам: COVID-19 тактасы | 1-бөлүк
- 6-кадам: COVID-19 тактасы | 2 бөлүк
- 7-кадам: COVID-19 тактасы | 3 -бөлүк
- 8-кадам: COVID-19 тактасы | 4 -бөлүк
- 9-кадам: COVID-19 тактасы | 5 -бөлүк
- 10-кадам: COVID-19 тактасы | 6 -бөлүк
- 11-кадам: COVID-19 тактасы | 7 -бөлүк
- 12-кадам: COVID-19 тактасы | 8 -бөлүк
- 13-кадам: COVID-19 тактасы | 9 -бөлүк
- 14 -кадам: Иштердин саны боюнча өлкөлөрдүн тизмеси (Top10) | COVID-19 тактасы
- 15 -кадам: Дүйнөлүк карта боюнча жалпы иштер | COVID-19 тактасы
- 16 -кадам: Жыйынтык
Video: Дүйнөлүк картадагы COVID19 тактасы (Python аркылуу): 16 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Мен билем, дээрлик бардыгыбыз COVID19 жөнүндө көпчүлүк маалыматты билебиз.
Жана бул көрсөтмө көбүк картасын түзүү жөнүндө, реалдуу убакытта (учурлардын) дүйнөлүк картага түшүрүү.
Көбүрөөк ыңгайлуулук үчүн, мен программаны Github репозиторийине коштум:
github.com/backshell/COVID19dashboard
Жабдуулар
Эч кандай жабдыктар талап кылынбайт жана биз компьютер программасын GoogleColab блокноту аркылуу жасайбыз. Ошентип, баштоо үчүн Gmail каттоо эсеби жетиштүү болушу керек.
Colab Notebooks / Colaboratory - бул машинаны үйрөнүү жана изилдөө иштерин жайылтуу үчүн түзүлгөн Google изилдөө долбоору. Бул Jupyter блокнотунун чөйрөсү, ал эч кандай орнотууну талап кылбайт жана толугу менен булутта иштейт.
Жана машинаңызда орнотуу талап кылынбайт.
1 -кадам: Backend процессин түшүнүү (маалымат базасы)
Ар бир программалык камсыздоонун көбү тылдан маалыматтарды алып турат жана натыйжасы форматталып, алдыңкы бөлүгүнө жарыяланат. Бул программа үчүн биз COVID19 реалдуу маалыматын талап кылмакпыз.
G. W. C. Уайтинг инженердик мектеби COVID19 статистикасын өзүнүн github эсеби аркылуу жарыялап келет:
github.com/CSSEGISandData
Башынан ушул күнгө чейин репозиторийде COVID19 өлкөсүнүн акылдуу статистикасы жарыяланат.
Ошентип, биз алардын. CSV форматталган файлдарын колдонобуз (өлкөлөрдүн катарына жараша бөлүштүрүлгөн) жана маалыматтарды дүйнөлүк картага түшүрөбүз.
2 -кадам: Программада колдонулган Python пакеттери/китепканалары
Төмөндө биз колдоно турган python пакеттеринин жана китепканаларынын тизмеси келтирилген. Алардын ар биринин максаты тууралуу кыскача маалымат берейин.
numpy:
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 блокнотунда иштете турган болчубуз (бул нускама боюнча колаб катары сактоого мүмкүндүк берет).
3 -кадам: Дискиңизди орнотуу, Colab колдонуу үчүн
Сиздин Drive, дептер үчүн папканы түзүү.
Техникалык жактан айтканда, эгер сиз Colabда иштей баштасаңыз, бул кадамдын кереги жок. Бирок, Colab сиздин дисктен иштеп жаткандыктан, иштегиңиз келген папканы көрсөтүү жаман эмес. Сиз муну Google Drive'ыңызга барып, "Жаңы" баскычын чыкылдатып, анан жаңы папка түзүү менен жасай аласыз.
Андан кийин бул жерде colabnotebook түзүүнү тандасаңыз болот же colabда түз иштей баштасаңыз жана colab иштөө үчүн түзүлгөн папканы дискке шилтемелесеңиз болот.
Бул жакшы практика, антпесе биз түзгөн колаб биздин дискте башаламан көрүнүшү мүмкүн.
4 -кадам: Программаны карап чыгуу
Бул программада/дептерде биз COVID-19 үчүн төмөнкүлөрдү түзмөкпүз:
- Иштердин саны боюнча өлкөлөрдүн тизмеси
- Дүйнө картасындагы жалпы иштер
5-кадам: COVID-19 тактасы | 1-бөлүк
Сиз кодуңузду Python 2ден Python 3кө жеткирүүгө жардам берүү үчүн келечекти колдонсоңуз болот жана дагы эле Python 2де иштейт.
Эгерде сизде мурунтан эле Python 3 коду болсо, анын ордуна келечекти колдонуп, Python 2ге шайкештигин дээрлик эч кандай кошумча жумуш менен камсыз кыла албайсыз.
келечек стандарттык китепкана модулдарын Python 3 аттары жана Python 2деги жайгашкан жери боюнча жетүүгө мүмкүндүк берүүчү, бир нече механизмдердин бири аркылуу китепкананын стандарттык кайра түзүлүшүн (PEP 3108) колдойт.
6-кадам: COVID-19 тактасы | 2 бөлүк
Өз ара аракеттенүү функциясы (ipywidgets.interact) кодду жана маалыматтарды интерактивдүү изилдөө үчүн автоматтык түрдө колдонуучу интерфейсин (UI) башкарат. Бул IPython виджеттерин колдонууну баштоонун эң оңой жолу.
7-кадам: COVID-19 тактасы | 3 -бөлүк
display_html объектинин HTML өкүлчүлүктөрүн көрсөтөт. Башкача айтканда, _repr_html_ сыяктуу катталган дисплей ыкмаларын издейт жана эгер бар болсо, жыйынтыгын көрсөтүп, аларды чакырат.
8-кадам: 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')
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')
Step1де түшүндүрүлгөндөй, маалыматтарды репозиторийден.csv файлы катары окуу.
10-кадам: COVID-19 тактасы | 6 -бөлүк
Биз df тилкесинин аталыштарын кичине кылып өзгөртөбүз
11-кадам: COVID-19 тактасы | 7 -бөлүк
Биз провинцияны/штатты штатка, өлкөнү/аймакты өлкөгө алмаштырабыз
12-кадам: COVID-19 тактасы | 8 -бөлүк
Биз тастыкталган, өлүм жана айыгып кеткен учурлардын жалпы санын эсептейбиз.
13-кадам: COVID-19 тактасы | 9 -бөлүк
Биз жалпы статистиканы HTML форматында көрсөтөбүз, анткени биз 7 -кадамда белгилүү китепканаларды төмөндөгүдөй импорттогонбуз:
IPython.core.display импорттук дисплейден, HTML
14 -кадам: Иштердин саны боюнча өлкөлөрдүн тизмеси (Top10) | 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 = 'solid 2px green')
2px туурасы жашыл түстөгү чектерди түзөт, натыйжада дисплейге көрсөтүлөт.
15 -кадам: Дүйнөлүк карта боюнча жалпы иштер | COVID-19 тактасы
world_map = folium. Map (жайгашуу = [11, 0], плиткалар = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)
Folium - бул сизди картага түшүрүүчү Кудайга окшоштуруучу курал, ал эми бардык иштер арткы бөлүктө аткарылат. Биз негизинен ага минималдуу көрсөтмөлөрдү беребиз, JS фондо көп жумуштарды аткарат жана биз абдан сонун карталарды алабыз. Бул сонун нерселер. Түшүнүктүү болушу үчүн карта техникалык жактан "Баракча картасы" деп аталат. Аларды Pythonдо чакырган куралыбыз "Folium" деп аталат.
Folium баракчанын интерактивдүү картасында Pythonдо иштетилген маалыматтарды элестетүүнү жеңилдетет. Бул маалыматты каропага көргөзмө үчүн милдеттүү түрдө кошууга, ошондой эле картада маркер катары Винсент/Вега элестетүүлөрүн өткөрүүгө мүмкүнчүлүк берет.
i үчүн диапазондо (0, len (confirm_df))
For циклинде, биз тастыкталган бардык учурларды 9 -кадамдын формулировкасынан алабыз.
тегерек
Биз тегеректерди кайталап кошуу үчүн folium. Circle () аркылуу көбүк картасын түзөбүз.
жайгашкан = [тастыкталган_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 -кадам: Жыйынтык
Тиркеме көрсөтөт:
- Иштердин саны боюнча өлкөлөрдүн тизмеси
- Дүйнө картасындагы жалпы иштер
Сунушталууда:
Экинчи дүйнөлүк согуштун тарыхын үйрөнүүчү: 3 кадам
Экинчи дүйнөлүк согуштун тарыхын үйрөнүүчү: Салам балдар! Ошентип, менин компьютердик классым үчүн бул жылы бизге сабакта эмнени үйрөнгөнүбүздү көрсөтүү үчүн кандайдыр бир электрондук түзүлүштү түзүү тапшырылды. Мен Экинчи Дүйнөлүк Экинчи Дүйнөнүн тарыхын сүйгөн адамдардын биримин, ошондуктан мен адамдарга жардам бере турган түзмөк жасоону чечтим
Экинчи дүйнөлүк согуштун мультиметрин калыбына келтирүү: 3 кадам
Экинчи дүйнөлүк согуштун доорундагы мультиметрди калыбына келтирүү: Бир нече жыл мурун мен коллекциям үчүн Simpson Electric мультиметрин алгам. Бул жаш курагын эске алганда эң сонун абалда болгон кара булгаарыдан жасалган корпуста келген. АКШнын Патенттик Бюросу эсептегичтердин кыймылынын патент алган күнү 1936 -ж
ESP8266 жана OLEDди колдонгон Live Covid19 Tracker - Чыныгы убакыт Covid19 тактасы: 4 кадам
ESP8266 жана OLEDди колдонгон Live Covid19 Tracker | Realtime Covid19 тактасы: Techtronic Harsh веб -сайтына баш багыңыз: http: //techtronicharsh.com Бардык жерде роман Corona Virus (COVID19) чоң тутанышы бар. Дүйнөдө учурдагы COVID-19 сценарийине көз салып туруу керек болуп калды, ошондуктан үйдө болуп, бул биринчи
NodeMCU, ESP8266 жана MAX7219 менен телефон аркылуу башкаруу LED тактасы: 8 кадам
LED тактасын NodeMCU, ESP8266 жана MAX7219 менен телефон аркылуу башкарыңыз: Мен бурулуш сигнал катары LED тактасын башкаруу үчүн телефонду колдонгум келет. Ошентип, ESP8266 кирүү чекити, микроконтроллер жана сервер катары иштейт. Веб -сервердин 3 баскычы бар жөнөкөй веб -баракчасы болот: СОЛГО, ОҢГО жана Буруу SOSко. Текст
Үйдү автоматташтыруу: Tiva TM4C123G аркылуу Bluetooth аркылуу диммерди башкаруу менен автоматтык которуу тактасы: 7 кадам
Үйдү автоматташтыруу: Tiva TM4C123G аркылуу Bluetooth аркылуу диммерди башкаруу менен автоматтык которуштуруу тактасы: Бүгүнкү күндө биздин жашообузду чындап жеңилдеткен телевизорлорубуз жана башка электрондук системалар үчүн алыстан башкаруу каражаттары бар. Сиз качандыр бир убакта үйдүн автоматташтырылышы жөнүндө ойлонуп көрдүңүзбү, ал түтүктөрдүн жарыгын, желдеткичтерди жана башка электр шаймандарын көзөмөлдөйт