תוכן עניינים:

לוח המחוונים של COVID19 על מפת העולם (באמצעות פייתון): 16 שלבים
לוח המחוונים של COVID19 על מפת העולם (באמצעות פייתון): 16 שלבים

וִידֵאוֹ: לוח המחוונים של COVID19 על מפת העולם (באמצעות פייתון): 16 שלבים

וִידֵאוֹ: לוח המחוונים של COVID19 על מפת העולם (באמצעות פייתון): 16 שלבים
וִידֵאוֹ: אל תיגע לבחורה באיפור בחייםםם !!!! don't do that !!! 2024, נוֹבֶמבֶּר
Anonim
לוח המחוונים של COVID19 על מפת העולם (באמצעות Python)
לוח המחוונים של COVID19 על מפת העולם (באמצעות Python)

אני יודע שכמעט כולנו יודעים את רוב המידע על COVID19.

והמדריך הזה עוסק ביצירת מפת בועות, לשרטט את הנתונים בזמן אמת (של מקרים) על מפת העולם.

לנוחות נוספת, הוספתי את התוכנית למאגר Github:

github.com/backshell/COVID19dashboard

אספקה

אין צורך במצרכים ככאלה והיינו מבצעים את כל תוכנת המחשב באמצעות מחברת GoogleColab. אז חשבון gmail צריך להספיק מלכתחילה.

Colab Notebooks / Colaboratory הוא פרויקט מחקר של Google שנוצר לסייע בהפצת חינוך ומחקר של למידת מכונה. זוהי סביבת מחברת Jupyter שאינה דורשת התקנה לשימוש ופועלת לחלוטין בענן.

ואין צורך בהתקנה במכונה שלך.

שלב 1: הבנת תהליך Backend (מסד נתונים)

רוב כל תוכנות אוספות נתונים מה- backend והתוצאה מתבצעת ומתפרסמת בחזית. ולתוכנית הספציפית הזו, היינו דורשים נתונים אמיתיים של COVID19.

ה- G. W. C. בית הספר להנדסה Whiting פרסם את הנתונים הסטטיסטיים על COVID19 באמצעות חשבון github שלו:

github.com/CSSEGISandData

מההתחלה ועד היום, הנתונים הסטטיסטיים של COVID -19 מתפרסמים במאגר.

אז נשתמש בקבצים המעוצבים של. CSV שלהם (מפולחים לפי שורות של מדינות) ומשרטטים את הנתונים על מפת העולם.

שלב 2: חבילות/ספריות פייתון המשמשות בתוכנית

להלן רשימת חבילות וספריות פיתון בהן היינו משתמשים. תן לי לתת סקירה כללית של המטרה של כל אחד מהם.

חסר תחושה:

NumPy היא ספרייה לשפת התכנות של פייתון, המוסיפה תמיכה במערכים ומטריצות גדולות ורב-ממדיות, יחד עם אוסף גדול של פונקציות מתמטיות ברמה גבוהה להפעלה על מערכים אלה.

פנדות:

פנדה היא ספריית תוכנה שנכתבה לשפת התכנות של פייתון לצורך מניפולציה וניתוח נתונים.

matplotlib.pyplot:

pyplot מיועד בעיקר לעלילות אינטראקטיביות ולמקרים פשוטים של יצירת עלילה פרוגרמטית

plotly.express:

Plotly Express היא ספריית הדמיה חדשה של Python ברמה גבוהה. תחביר פשוט לתרשימים מורכבים.

פוליום:

פוליום מקל על הדמיה של נתונים שעשו מניפולציות ב- Python במפת עלונים אינטראקטיביים.

plotly.graph_objects:

חבילת ה- Python העלילתית קיימת ליצירה, מניפולציה והצגה של דמויות גרפיות (כלומר תרשימים, עלילות, מפות ותרשימים) המיוצגות על ידי מבני נתונים המכונים גם דמויות.

ילידי ים:

Seaborn היא ספריית הדמיית נתונים של פייתון המבוססת על matplotlib. הוא מספק ממשק ברמה גבוהה לציור גרפיקה סטטיסטית אטרקטיבית ואינפורמטיבית.

ipywidgets:

ipywidgets הם ווידג'טים HTML אינטראקטיביים עבור מחברות Jupyter, JupyterLab וגרעין ה- IPython. מחשבים ניידים מתעוררים לחיים בעת שימוש ביישומונים אינטראקטיביים.

התקנת חבילות אלה אינה נדרשת מכיוון שהיינו עובדים על תוכנית זו במלואה ב- 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) יוצרת באופן אוטומטי פקדי ממשק משתמש (ממשק משתמש) לחקר קוד ונתונים באופן אינטראקטיבי. זו הדרך הקלה ביותר להתחיל להשתמש בווידג'טים של 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')

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, HTML

שלב 14: רשימת מדינות (Top10) לפי מספר המקרים | לוח המחוונים של COVID-19

רשימת המדינות (Top10) לפי מספר המקרים | לוח המחוונים של COVID-19
רשימת המדינות (Top10) לפי מספר המקרים | לוח המחוונים של COVID-19
רשימת המדינות (Top10) לפי מספר המקרים | לוח המחוונים של COVID-19
רשימת המדינות (Top10) לפי מספר המקרים | לוח המחוונים של COVID-19

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

הפונקציה FigureWidget מחזירה אובייקט ריק של FigureWidget עם צירי ברירת המחדל x ו- y. לווידג'טים אינטראקטיביים של Jupyter יש תכונת פריסה החושפת מספר נכסי CSS שמשפיעים על אופן פריסת הווידג'טים.

pd. DataFrame

יוצר מסגרת נתונים באמצעות מילון, עם שלושה רקעים צבעוניים לאוכלוסייה של התוצאה.

def show_latest_cases (TOP)

ממיין את הערכים לפי סדר יורד מאושר.

אינטראקציה (show_latest_cases, TOP = '10 ')

פונקציית האינטראקציה (ipywidgets.interact) יוצרת באופן אוטומטי פקדי ממשק משתמש (ממשק משתמש) לחקר קוד ונתונים באופן אינטראקטיבי.

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)

פוליום הוא כלי שגורם לך להיראות כמו אל מיפוי בזמן שכל העבודה נעשית בקצה האחורי. זהו עטיפת פייתון לכלי שנקרא leaflet.js. אנחנו בעצם נותנים לו הוראות מינימליות, JS עושה המון עבודה ברקע ואנחנו מקבלים כמה מפות מאוד מאוד מגניבות. זה אחלה דברים. לשם הבהרה, המפה נקראת טכנית 'מפת עלונים'. הכלי שאפשר לקרוא להם בפייתון נקרא 'פוליום'.

פוליום מקל על הדמיה של נתונים שעשו מניפולציות ב- Python במפת עלונים אינטראקטיביים. הוא מאפשר הן כריכת הנתונים למפה להדמיות חזותיות כמו העברת ויזואליזציות של וינסנט/וגה כסמנים על המפה.

עבור i בטווח (0, len (confirm_df))

בלולאה for, נקבל את כל המקרים שאושרו מניסוח שלב 9.

פוליום. עיגול

אנו יוצרים מפת בועות באמצעות folium. Circle () להוספת מעגלים איטרטיביים.

location = [confirm_df.iloc ['lat'], confirm_df.iloc ['long'], מתוך ה- confirm_df של המקרים שאושרו משלב 5, אנו מחלצים את ערכי הרוחב והאורך המתאימים לכל נתוני מיקום/מדינה.

רדיוס = (int ((np.log (confirm_df.iloc [i, -1] +1.00001)))+0.2)*50000, יצירת אובייקט רדיוס לשרטוט מעגלי הבועה על מפת העולם ברחבי המדינות.

color = 'אדום', fill_color = 'אינדיגו', מה שהופך את קווי המתאר של מעגל הבועה לאדום והאזור הפנימי כאינדיגו.

ולבסוף משרטט את המעגלים על מפת העולם באמצעות אובייקט הסבר הכלים.

שלב 16: התוצאה

התוצאה!
התוצאה!
התוצאה!
התוצאה!

מצורף המצורף:

  1. רשימת מדינות לפי מספר המקרים
  2. סך המקרים על מפת העולם

מוּמלָץ: