فهرست مطالب:

داشبورد COVID19 روی نقشه جهان (با استفاده از پایتون): 16 مرحله
داشبورد COVID19 روی نقشه جهان (با استفاده از پایتون): 16 مرحله

تصویری: داشبورد COVID19 روی نقشه جهان (با استفاده از پایتون): 16 مرحله

تصویری: داشبورد COVID19 روی نقشه جهان (با استفاده از پایتون): 16 مرحله
تصویری: تصور دخترا از ازدواج🤣 2024, نوامبر
Anonim
داشبورد COVID19 روی نقشه جهان (با استفاده از پایتون)
داشبورد COVID19 روی نقشه جهان (با استفاده از پایتون)

من می دانم که تقریباً همه ما بیشترین اطلاعات را در مورد COVID19 می دانیم.

و این دستورالعمل در مورد ایجاد یک نقشه حباب ، برای ترسیم داده های زمان واقعی (موارد) بر روی نقشه جهان است.

برای راحتی بیشتر ، من برنامه را به مخزن Github اضافه کرده ام:

github.com/backshell/COVID19dashboard

تدارکات

به هیچ عنوان نیازی به منابع نیست و ما کل برنامه کامپیوتری را از طریق نوت بوک GoogleColab انجام می دهیم. بنابراین یک حساب جیمیل برای شروع کافی است.

Colab Notebooks / Colaboratory یک پروژه تحقیقاتی Google است که برای کمک به انتشار آموزش و تحقیقات یادگیری ماشین ایجاد شده است. این یک محیط نوت بوک Jupyter است که نیازی به راه اندازی ندارد و کاملاً در ابر اجرا می شود.

و بدون نصب در دستگاه شما مورد نیاز است.

مرحله 1: درک روند پشتیبان (پایگاه داده)

اکثر برنامه های نرم افزاری داده ها را از پشتیبان دریافت می کنند و نتیجه فرمت شده و در قسمت جلویی منتشر می شود. و برای این برنامه خاص ، ما به داده های واقعی COVID19 نیاز داریم.

G. W. C. دانشکده مهندسی وایتینگ آمار COVID19 را از طریق حساب github خود منتشر کرده است:

github.com/CSSEGISandData

از ابتدا تا به امروز ، آمارهای مربوط به کشور COVID19 در مخزن منتشر می شود.

بنابراین ما از فایلهای قالب بندی شده آنها با. CSV (به تفکیک ردیف کشورها) استفاده می کنیم و داده ها را روی نقشه جهان ترسیم می کنیم.

مرحله 2: بسته ها/کتابخانه های پایتون مورد استفاده در برنامه

در زیر لیستی از بسته ها و کتابخانه های پایتون است که ما از آنها استفاده می کنیم. اجازه دهید مروری بر هدف هر یک از آنها داشته باشم.

بی حس

NumPy یک کتابخانه برای زبان برنامه نویسی پایتون است که پشتیبانی از آرایه ها و ماتریس های بزرگ و چند بعدی را به همراه مجموعه بزرگی از توابع ریاضی سطح بالا برای کار بر روی این آرایه ها اضافه می کند.

پانداها:

pandas یک کتابخانه نرم افزاری است که برای زبان برنامه نویسی پایتون برای دستکاری و تجزیه و تحلیل داده ها نوشته شده است.

matplotlib.pyplot:

pyplot عمدتا برای نمودارهای تعاملی و موارد ساده تولید طرح برنامه ای در نظر گرفته شده است

plotly.express:

Plotly Express یک کتابخانه تجسم پایتون جدید در سطح بالا است. نحو ساده برای نمودارهای پیچیده.

folium:

folium تجسم داده هایی را که در Python دستکاری شده اند بر روی نقشه جزوات تعاملی آسان می کند.

plotly.graph_objects:

بسته کامل پایتون برای ایجاد ، دستکاری و ارائه تصاویر گرافیکی (یعنی نمودارها ، نمودارها ، نقشه ها و نمودارها) وجود دارد که توسط ساختارهای داده که به آنها شکل نیز گفته می شود ، ارائه می شود.

متولد دریا:

Seaborn یک کتابخانه تجسم داده پایتون است که بر اساس matplotlib ساخته شده است. این یک رابط سطح بالا برای ترسیم گرافیک های آماری جذاب و آموزنده ارائه می دهد.

ipywidgets:

ipywidget ها ابزارک های تعاملی HTML برای نوت بوک های Jupyter ، JupyterLab و هسته IPython هستند. وقتی از ابزارک های تعاملی استفاده می شود ، نوت بوک ها زنده می شوند.

نصب این بسته ها الزامی نیست زیرا ما این برنامه را به طور کامل در Google Colab Notebook کار می کنیم (اجازه می دهد تا آن را به عنوان colab در طول این دستورالعمل نگه داریم).

مرحله 3: راه اندازی درایو ، برای استفاده از Colab

راه اندازی درایو خود ، برای استفاده از Colab
راه اندازی درایو خود ، برای استفاده از Colab
راه اندازی درایو خود ، برای استفاده از Colab
راه اندازی درایو خود ، برای استفاده از Colab

در Drive خود ، پوشه ای برای نوت بوک های خود ایجاد کنید.

از نظر فنی ، اگر می خواهید فقط در Colab شروع به کار کنید ، این مرحله کاملاً ضروری نیست. با این حال ، از آنجا که Colab درایو شما کار می کند ، ایده بدی نیست که پوشه ای را که می خواهید کار کنید مشخص کنید. می توانید با رفتن به Google Drive خود و کلیک روی "جدید" و سپس ایجاد یک پوشه جدید این کار را انجام دهید.

سپس می توانید colabnotebook را در اینجا ایجاد کنید یا مستقیماً در colab کار کنید و پوشه را در درایو که برای کار colab ایجاد شده است پیوند دهید.

این یک تمرین خوب است ، در غیر این صورت colab که ما ایجاد می کنیم ممکن است در درایو ما نامرتب به نظر برسد.

مرحله 4: مرور کلی برنامه

در این برنامه/دفترچه یادداشت ، ما موارد زیر را برای COVID-19 ایجاد می کنیم:

  • فهرست کشورها بر اساس تعداد موارد
  • مجموع موارد روی نقشه جهان

مرحله 5: داشبورد COVID-19 | قسمت 1

داشبورد COVID-19 | قسمت 1
داشبورد COVID-19 | قسمت 1

می توانید از آینده برای انتقال کد خود از Python 2 به Python 3 امروز استفاده کنید - و همچنان آن را بر روی Python 2 اجرا کنید.

اگر قبلاً کد پایتون 3 دارید ، می توانید از آینده برای ارائه سازگاری با پایتون 2 تقریباً بدون هیچ کار اضافی استفاده کنید.

آینده از سازماندهی مجدد کتابخانه استاندارد (PEP 3108) از طریق یکی از چندین مکانیسم پشتیبانی می کند و به اکثر ماژول های کتابخانه استاندارد منتقل شده اجازه می دهد تحت نام و مکان پایتون 3 در پایتون 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')

recovered_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 display import، HTML

مرحله 14: فهرست کشورها (بالا 10) بر اساس تعداد موارد | داشبورد COVID-19

فهرست کشورها (بالا 10) بر اساس تعداد موارد | داشبورد COVID-19
فهرست کشورها (بالا 10) بر اساس تعداد موارد | داشبورد COVID-19
فهرست کشورها (بالا 10) بر اساس تعداد موارد | داشبورد COVID-19
فهرست کشورها (بالا 10) بر اساس تعداد موارد | داشبورد 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 (border = 'solid 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 است. ما اساساً حداقل دستورالعمل را به آن می دهیم ، JS کارهای زیادی را در پس زمینه انجام می دهد و نقشه های بسیار بسیار جالبی دریافت می کنیم. مطالب فوق العاده ای است برای وضوح ، از نظر فنی این نقشه "Leaflet Map" نامیده می شود. ابزاری که به شما اجازه می دهیم آنها را در پایتون بنامید "Folium" نام دارد.

Folium تجسم داده هایی را که در Python دستکاری شده اند بر روی نقشه Leaflet تعاملی آسان می کند. این امکان اتصال داده ها به یک نقشه برای تجسم choropleth و همچنین عبور تجسم Vincent/Vega به عنوان نشانگر روی نقشه را امکان پذیر می کند.

برای i در محدوده (0 ، len (confirm_df))

در حلقه for ، همه موارد تأیید شده را از فرمول مرحله 9 دریافت می کنیم.

folium دایره

با استفاده از folium یک نقشه حبابی ایجاد می کنیم. () برای افزودن حلقه ها به صورت تکراری.

location = [confirm_df.iloc ['lat'] ، confirm_df.iloc ['long'] ،

از confirm_df موارد تایید شده از مرحله 5 ، مقادیر عرض و عرض جغرافیایی مربوط به هر مکان/داده کشور را استخراج می کنیم.

radius = (int ((np.log (confirm_df.iloc [i، -1] +1.00001))))+0.2)*50000 ،

ایجاد شی شعاع برای رسم دایره های حبابی روی نقشه جهان در سراسر کشورها.

رنگ = 'قرمز' ، fill_color = 'نیلی' ،

طرح کلی دایره حباب را قرمز و ناحیه داخلی آن را نیلی نشان می دهد.

و در نهایت رسم دایره ها در world_map با استفاده از شی tooltip.

مرحله 16: نتیجه

نتیجه!
نتیجه!
نتیجه!
نتیجه!

پیوست نشان می دهد:

  1. فهرست کشورها بر اساس تعداد موارد
  2. مجموع موارد روی نقشه جهان

توصیه شده: