สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ทำความเข้าใจกระบวนการแบ็กเอนด์ (ฐานข้อมูล)
- ขั้นตอนที่ 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: ผลลัพธ์
วีดีโอ: COVID19 Dashboard บนแผนที่โลก (โดยใช้ Python): 16 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ฉันรู้ว่าพวกเราเกือบทุกคนรู้ข้อมูลส่วนใหญ่เกี่ยวกับ COVID19
และคำแนะนำนี้เกี่ยวกับการสร้างแผนที่ฟองเพื่อวางแผนข้อมูลตามเวลาจริง (กรณี) บนแผนที่โลก
เพื่อความสะดวกยิ่งขึ้นฉันได้เพิ่มโปรแกรมลงในที่เก็บ Github:
github.com/backshell/COVID19dashboard
เสบียง
ไม่จำเป็นต้องใช้อุปกรณ์ใดๆ และเราจะทำโปรแกรมคอมพิวเตอร์ทั้งหมดผ่าน GoogleColab Notebook บัญชี gmail ก็น่าจะเพียงพอแล้วสำหรับการเริ่มต้น
Colab Notebooks / Colaboratory เป็นโครงการวิจัยของ Google ที่สร้างขึ้นเพื่อช่วยเผยแพร่การศึกษาและการวิจัยของแมชชีนเลิร์นนิง เป็นสภาพแวดล้อมโน้ตบุ๊ก Jupyter ที่ไม่ต้องตั้งค่าเพื่อใช้งานและทำงานบนคลาวด์ทั้งหมด
และไม่จำเป็นต้องติดตั้งในเครื่องของคุณ
ขั้นตอนที่ 1: ทำความเข้าใจกระบวนการแบ็กเอนด์ (ฐานข้อมูล)
โปรแกรมซอฟต์แวร์ส่วนใหญ่ดึงข้อมูลจากแบ็กเอนด์และผลลัพธ์จะถูกจัดรูปแบบและเผยแพร่ไปยังส่วนหน้า และสำหรับโปรแกรมนี้ เราต้องการข้อมูลจริงของ COVID19
จี.ดับเบิลยู.ซี. Whiting School of Engineering ได้เผยแพร่สถิติ COVID19 ผ่านบัญชี GitHub:
github.com/CSSEGISandData
ตั้งแต่เริ่มต้นจนถึงวันที่ สถิติที่ชาญฉลาดของประเทศ COVID19 จะถูกเผยแพร่ในที่เก็บ
ดังนั้นเราจะใช้ไฟล์ที่จัดรูปแบบ. CSV ของพวกเขา (แบ่งกลุ่มประเทศตามลำดับ) และพล็อตข้อมูลบนแผนที่โลก
ขั้นตอนที่ 2: แพ็คเกจ/ไลบรารี Python ที่ใช้ในโปรแกรม
ด้านล่างนี้คือรายการแพ็คเกจและไลบรารีหลามที่เราจะใช้ ให้ฉันให้ภาพรวมของวัตถุประสงค์ของแต่ละรายการ
อ้วน:
NumPy เป็นไลบรารี่สำหรับภาษาการเขียนโปรแกรม Python ซึ่งเพิ่มการรองรับอาร์เรย์และเมทริกซ์ขนาดใหญ่หลายมิติ พร้อมด้วยคอลเล็กชันฟังก์ชันทางคณิตศาสตร์ระดับสูงจำนวนมากเพื่อใช้งานกับอาร์เรย์เหล่านี้
แพนด้า:
pandas เป็นไลบรารีซอฟต์แวร์ที่เขียนขึ้นสำหรับภาษาการเขียนโปรแกรม Python สำหรับการจัดการและวิเคราะห์ข้อมูล
matplotlib.pyplot:
pyplot มีไว้สำหรับพล็อตแบบโต้ตอบและกรณีง่าย ๆ ของการสร้างพล็อตแบบเป็นโปรแกรม
plotly.express:
Plotly Express เป็นไลบรารีการสร้างภาพ Python ระดับสูงใหม่ ไวยากรณ์อย่างง่ายสำหรับแผนภูมิที่ซับซ้อน
โฟเลียม:
folium ทำให้ง่ายต่อการมองเห็นข้อมูลที่ได้รับการจัดการใน Python บนแผนที่แผ่นพับแบบโต้ตอบ
plotly.graph_objects:
แพ็คเกจ Python แบบพล็อตมีอยู่เพื่อสร้าง จัดการ และแสดงผลตัวเลขแบบกราฟิก (เช่น แผนภูมิ แผนผัง แผนที่ และไดอะแกรม) ที่แสดงโดยโครงสร้างข้อมูลซึ่งเรียกอีกอย่างว่าตัวเลข
ทะเลบอร์น:
Seaborn เป็นไลบรารีการสร้างภาพข้อมูล Python ที่ใช้ matplotlib มีอินเทอร์เฟซระดับสูงสำหรับการวาดกราฟิกสถิติที่น่าสนใจและให้ข้อมูล
ipywidgets:
ipywidgets เป็นวิดเจ็ต HTML แบบโต้ตอบสำหรับโน้ตบุ๊ก Jupyter, JupyterLab และเคอร์เนล IPython โน้ตบุ๊กจะมีชีวิตชีวาขึ้นเมื่อใช้วิดเจ็ตแบบโต้ตอบ
ไม่จำเป็นต้องติดตั้งแพ็คเกจเหล่านี้ เนื่องจากเราจะใช้งานโปรแกรมนี้ใน Google Colab Notebook ทั้งหมด (ให้เก็บไว้เป็น colab ตลอดคำแนะนำนี้)
ขั้นตอนที่ 3: การตั้งค่าไดรฟ์ของคุณ เพื่อใช้ Colab
ในไดรฟ์ของคุณ ให้สร้างโฟลเดอร์สำหรับสมุดบันทึกของคุณ
ในทางเทคนิค ขั้นตอนนี้ไม่จำเป็นทั้งหมด หากคุณต้องการเริ่มทำงานใน Colab อย่างไรก็ตาม เนื่องจาก Colab กำลังทำงานนอกไดรฟ์ของคุณ จึงไม่ความคิดที่ดีที่จะระบุโฟลเดอร์ที่คุณต้องการทำงาน คุณสามารถทำได้โดยไปที่ Google Drive ของคุณและคลิก "ใหม่" จากนั้นสร้างโฟลเดอร์ใหม่
จากนั้น คุณอาจเลือกสร้าง colabnotebook ที่นี่ หรือเริ่มทำงานโดยตรงใน colab และลิงก์โฟลเดอร์ในไดรฟ์ ซึ่งสร้างขึ้นสำหรับงาน colab
นี่เป็นแนวทางปฏิบัติที่ดี ไม่เช่นนั้น colab ที่เราสร้างขึ้นอาจดูยุ่งเหยิงในการขับรถของเรา
ขั้นตอนที่ 4: ภาพรวมของโปรแกรม
ในโปรแกรม/โน้ตบุ๊กนี้ เราจะสร้างสิ่งต่อไปนี้สำหรับโควิด-19:
- รายชื่อประเทศตามจำนวนคดี
- คดีทั้งหมดบนแผนที่โลก
ขั้นตอนที่ 5: แดชบอร์ด COVID-19 | ส่วนที่ 1
คุณสามารถใช้อนาคตเพื่อช่วยพอร์ตโค้ดของคุณจาก Python 2 ไปยัง Python 3 ได้ในวันนี้ และยังคงทำงานบน Python 2
หากคุณมีโค้ด Python 3 อยู่แล้ว คุณสามารถใช้ Future เพื่อให้เข้ากันได้กับ Python 2 โดยแทบไม่ต้องทำงานเพิ่มเติม
ในอนาคตรองรับการปรับโครงสร้างไลบรารีมาตรฐาน (PEP 3108) ผ่านกลไกใดกลไกหนึ่ง ทำให้โมดูลไลบรารีมาตรฐานที่ย้ายส่วนใหญ่สามารถเข้าถึงได้ภายใต้ชื่อและตำแหน่งของ Python 3 ใน Python 2
ขั้นตอนที่ 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')
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')
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')
ตามที่อธิบายไว้ในขั้นตอนที่ 1 การอ่านข้อมูลเป็นไฟล์.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
มะเดื่อ = go. FigureWidget(layout=go. Layout())
ฟังก์ชัน FigureWidget ส่งคืนวัตถุ FigureWidget ว่างที่มีแกน x และ y เริ่มต้น วิดเจ็ตแบบโต้ตอบของ Jupyter มีแอตทริบิวต์เลย์เอาต์ที่แสดงคุณสมบัติ CSS จำนวนหนึ่งซึ่งส่งผลต่อการจัดวางวิดเจ็ต
pd. DataFrame
สร้าง 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 เป็นเครื่องมือที่ทำให้คุณดูเหมือนพระเจ้าแห่งการทำแผนที่ ในขณะที่งานทั้งหมดทำที่ส่วนหลัง มันเป็นเครื่องห่อ Python สำหรับเครื่องมือที่เรียกว่า leaflet.js โดยพื้นฐานแล้วเราให้คำแนะนำน้อยที่สุด JS ทำงานมากมายในเบื้องหลังและเราได้รับแผนที่ที่เจ๋งมาก มันเป็นสิ่งที่ดี เพื่อความชัดเจน แผนที่ถูกเรียกว่า 'Leaflet Map' ในทางเทคนิค เครื่องมือที่ให้คุณเรียกใช้ใน Python เรียกว่า 'Folium'
Folium ทำให้ง่ายต่อการมองเห็นข้อมูลที่ได้รับการจัดการใน Python บนแผนที่ Leaflet แบบโต้ตอบ ช่วยให้สามารถเชื่อมโยงข้อมูลกับแผนที่สำหรับการแสดงภาพ choropleth ตลอดจนส่งการแสดงภาพของ Vincent/Vega เป็นเครื่องหมายบนแผนที่
สำหรับฉันอยู่ในช่วง(0, len(confirmed_df))
ใน for loop เราจะได้เคสที่ได้รับการยืนยันทั้งหมดจากสูตรขั้นตอนที่ 9
folium. Circle
เราสร้างแผนที่แบบฟองโดยใช้ folium. Circle() เพื่อเพิ่มวงกลมซ้ำๆ
สถานที่=[confirmed_df.iloc['lat'], Confirmed_df.iloc['long'],
จาก Confirm_df ของกรณีที่ได้รับการยืนยันจากขั้นตอนที่ 5 เราจะดึงค่าละติจูดและลองจิจูดที่สอดคล้องกับข้อมูลแต่ละตำแหน่ง/ประเทศ
รัศมี=(int((np.log(confirmed_df.iloc[i, -1]+1.00001)))+0.2)*50000
การสร้างวัตถุรัศมีเพื่อพล็อตวงกลมฟองบนแผนที่โลกทั่วประเทศ
color='red', fill_color='indigo',
ทำให้เค้าร่างของวงกลมฟองเป็นสีแดงและบริเวณด้านในเป็นสีคราม
และสุดท้ายสร้างวงกลมบน world_map โดยใช้อ็อบเจกต์คำแนะนำเครื่องมือ
ขั้นตอนที่ 16: ผลลัพธ์
เอกสารแนบแสดง:
- รายชื่อประเทศตามจำนวนคดี
- คดีทั้งหมดบนแผนที่โลก
แนะนำ:
เครื่องสแกนโค้ด QR โดยใช้ OpenCV ใน Python: 7 ขั้นตอน
เครื่องสแกนรหัส QR การใช้ OpenCV ใน Python: ในโลกปัจจุบันนี้ เราเห็นรหัส QR และบาร์โค้ดถูกใช้เกือบทุกที่ตั้งแต่บรรจุภัณฑ์ของผลิตภัณฑ์ไปจนถึงการชำระเงินออนไลน์ และทุกวันนี้ เราเห็นรหัส QR แม้แต่ในร้านอาหารเพื่อดูเมนู ดังนั้นไม่ สงสัยว่าตอนนี้เป็นความคิดที่ยิ่งใหญ่ แต่เคยไหม
การทดลองในการบันทึกข้อมูลขั้นสูง (โดยใช้ Python): 11 ขั้นตอน
การทดลองในการบันทึกข้อมูลขั้นสูง (โดยใช้ Python): มีคำแนะนำในการบันทึกข้อมูลจำนวนมาก ดังนั้นเมื่อฉันต้องการสร้างโปรเจ็กต์การบันทึกของตัวเอง ฉันก็มองไปรอบๆ เป็นกลุ่ม บางอย่างก็ดี บางอย่างก็ไม่มาก ดังนั้นฉันจึงตัดสินใจนำแนวคิดที่ดีกว่านี้มาสร้างแอปพลิเคชันของตัวเอง เรซูเม่นี้
ติดตาม Covid19 สดโดยใช้ ESP8266 และ OLED - แดชบอร์ด Covid19 แบบเรียลไทม์: 4 ขั้นตอน
ติดตาม Covid19 สดโดยใช้ ESP8266 และ OLED | แดชบอร์ด Covid19 แบบเรียลไทม์: เยี่ยมชมเว็บไซต์ Techtronic Harsh: http://techtronicharsh.comทุกที่ที่มีการระบาดใหญ่ของไวรัสโคโรน่าสายพันธุ์ใหม่ (โควิด19) จำเป็นต้องจับตาดูสถานการณ์ปัจจุบันของ COVID-19 ในโลก ดังนั้นเมื่ออยู่บ้าน นี่คือสิ่งที่เป
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E | การสร้างการควบคุมระยะไกล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างรีโมทคอนโทรล RADIO โดยใช้โมดูลตัวรับส่งสัญญาณ 433mhz พร้อมการเข้ารหัส HT12E & IC ถอดรหัส HT12D ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้ส่วนประกอบราคาถูกมาก เช่น HT