Mục lục:

Bảng điều khiển COVID19 trên Bản đồ thế giới (sử dụng Python): 16 bước
Bảng điều khiển COVID19 trên Bản đồ thế giới (sử dụng Python): 16 bước

Video: Bảng điều khiển COVID19 trên Bản đồ thế giới (sử dụng Python): 16 bước

Video: Bảng điều khiển COVID19 trên Bản đồ thế giới (sử dụng Python): 16 bước
Video: Tự học Lập Trình Python trong 10 phút - Siêu Dễ Hiểu 2024, Tháng mười một
Anonim
Bảng điều khiển COVID19 trên Bản đồ Thế giới (sử dụng Python)
Bảng điều khiển COVID19 trên Bản đồ Thế giới (sử dụng Python)

Tôi biết hầu như tất cả chúng ta đều biết hầu hết thông tin về COVID19.

Và hướng dẫn này là về cách tạo một bản đồ bong bóng, để vẽ dữ liệu thời gian thực (các trường hợp) trên bản đồ thế giới.

Để thuận tiện hơn, tôi đã thêm chương trình vào kho Github:

github.com/backshell/COVID19dashboard

Quân nhu

Không có nguồn cung cấp nào được yêu cầu như vậy và chúng tôi sẽ thực hiện toàn bộ chương trình máy tính thông qua GoogleColab Notebook. Vì vậy, một tài khoản gmail là đủ để bắt đầu.

Colab Notebooks / Colaboratory là một dự án nghiên cứu của Google được tạo ra để giúp phổ biến giáo dục và nghiên cứu về máy học. Đó là một môi trường máy tính xách tay Jupyter không yêu cầu thiết lập để sử dụng và chạy hoàn toàn trên đám mây.

Và KHÔNG cần cài đặt trong máy của bạn.

Bước 1: Tìm hiểu Quy trình phụ trợ (cơ sở dữ liệu)

Hầu hết mọi chương trình phần mềm đều tìm nạp dữ liệu từ phần phụ trợ và kết quả được định dạng và xuất bản cho giao diện người dùng. Và đối với chương trình cụ thể này, chúng tôi sẽ yêu cầu dữ liệu thực COVID19.

G. W. C. Trường Kỹ thuật Whiting đã xuất bản thống kê COVID19 thông qua tài khoản github của mình:

github.com/CSSEGISandData

Từ đầu cho đến nay, số liệu thống kê khôn ngoan của quốc gia COVID19 được công bố trong kho lưu trữ.

Vì vậy, chúng tôi sẽ sử dụng các tệp có định dạng. CSV của chúng (được phân đoạn theo hàng của các quốc gia) và vẽ dữ liệu trên bản đồ thế giới.

Bước 2: Các gói / thư viện Python được sử dụng trong chương trình

Dưới đây là danh sách các gói và thư viện python mà chúng tôi sẽ sử dụng. Hãy để tôi cung cấp một cái nhìn tổng quan về mục đích của từng người trong số họ.

numpy:

NumPy là một thư viện cho ngôn ngữ lập trình Python, hỗ trợ thêm cho các mảng và ma trận lớn, đa chiều, cùng với một bộ sưu tập lớn các hàm toán học cấp cao để hoạt động trên các mảng này.

gấu trúc:

pandas là một thư viện phần mềm được viết cho ngôn ngữ lập trình Python để thao tác và phân tích dữ liệu.

matplotlib.pyplot:

pyplot chủ yếu dành cho các ô tương tác và các trường hợp đơn giản của việc tạo ô có lập trình

plotly.express:

Plotly Express là một thư viện trực quan hóa Python cấp cao mới. Cú pháp đơn giản cho các biểu đồ phức tạp.

lá:

folium giúp dễ dàng hình dung dữ liệu được thao tác bằng Python trên bản đồ tờ rơi tương tác.

plotly.graph_objects:

Gói Python có cốt truyện tồn tại để tạo, thao tác và hiển thị các số liệu đồ họa (tức là biểu đồ, lô, bản đồ và sơ đồ) được biểu diễn bằng cấu trúc dữ liệu cũng được gọi là hình.

sơ sinh:

Seaborn là một thư viện trực quan hóa dữ liệu Python dựa trên matplotlib. Nó cung cấp một giao diện cấp cao để vẽ đồ họa thống kê hấp dẫn và nhiều thông tin.

ipywidgets:

ipywidgets là các widget HTML tương tác cho sổ ghi chép Jupyter, JupyterLab và hạt nhân IPython. Sổ tay trở nên sống động khi các vật dụng tương tác được sử dụng.

Việc cài đặt các gói này là không bắt buộc vì chúng tôi sẽ làm việc chương trình này hoàn toàn trong Google Colab Notebook (hãy giữ nó dưới dạng cột trong suốt phần hướng dẫn này).

Bước 3: Thiết lập Drive của bạn, để sử dụng Colab

Thiết lập Drive của bạn, để sử dụng Colab
Thiết lập Drive của bạn, để sử dụng Colab
Thiết lập Drive của bạn, để sử dụng Colab
Thiết lập Drive của bạn, để sử dụng Colab

Trong Drive của bạn, Tạo một thư mục cho sổ ghi chép của bạn.

Về mặt kỹ thuật, bước này không hoàn toàn cần thiết nếu bạn muốn bắt đầu làm việc ở Colab. Tuy nhiên, vì Colab đang hoạt động trên ổ đĩa của bạn, nên bạn không nên chỉ định thư mục nơi bạn muốn làm việc. Bạn có thể làm điều đó bằng cách truy cập Google Drive của mình và nhấp vào “Mới”, sau đó tạo một thư mục mới.

Sau đó, bạn có thể chọn tạo colabnotebook tại đây hoặc bắt đầu làm việc trực tiếp trong colab và liên kết thư mục trong ổ đĩa, được tạo cho công việc colab.

Đây là một cách thực hành tốt, nếu không thì colab mà chúng tôi tạo ra có thể trông lộn xộn trong ổ đĩa của chúng tôi.

Bước 4: Tổng quan về chương trình

Trong chương trình / sổ ghi chép này, chúng tôi sẽ tạo phần sau cho COVID-19:

  • Danh sách các quốc gia theo số trường hợp
  • Tổng số trường hợp trên bản đồ thế giới

Bước 5: Bảng điều khiển COVID-19 | Phần 1

Bảng điều khiển COVID-19 | Phần 1
Bảng điều khiển COVID-19 | Phần 1

Bạn có thể sử dụng future để giúp chuyển mã của mình từ Python 2 sang Python 3 ngay hôm nay - và vẫn để nó chạy trên Python 2.

Nếu bạn đã có mã Python 3, thay vào đó bạn có thể sử dụng future để cung cấp khả năng tương thích với Python 2 mà hầu như không phải làm việc thêm.

tương lai hỗ trợ tổ chức lại thư viện tiêu chuẩn (PEP 3108) thông qua một trong số các cơ chế, cho phép hầu hết các mô-đun thư viện tiêu chuẩn đã di chuyển được truy cập dưới tên và vị trí Python 3 của chúng trong Python 2.

Bước 6: Bảng điều khiển COVID-19 | Phần 2

Bảng điều khiển COVID-19 | Phần 2
Bảng điều khiển COVID-19 | Phần 2

Chức năng tương tác (ipywidgets.interact) tự động tạo các điều khiển giao diện người dùng (UI) để khám phá mã và dữ liệu một cách tương tác. Đây là cách dễ dàng nhất để bắt đầu sử dụng các tiện ích của IPython.

Bước 7: Bảng điều khiển COVID-19 | Phần 3

Bảng điều khiển COVID-19 | Phần 3
Bảng điều khiển COVID-19 | Phần 3

display_html hiển thị các biểu diễn HTML của một đối tượng. Nghĩa là, nó tìm kiếm các phương thức hiển thị đã đăng ký, chẳng hạn như _repr_html_, và gọi chúng, hiển thị kết quả, nếu có.

Bước 8: Bảng điều khiển COVID-19 | Phần 4

Bảng điều khiển COVID-19 | Phần 4
Bảng điều khiển COVID-19 | Phần 4

Danh sách các gói (như đã giải thích ở bước 2) được nhập vào chương trình.

Bước 9: Bảng điều khiển COVID-19 | Phần 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_conf Dead_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/case_country.csv')

Như đã giải thích trong bước 1, đọc dữ liệu dưới dạng tệp.csv từ kho lưu trữ.

Bước 10: Bảng điều khiển COVID-19 | Phần 6

Bảng điều khiển COVID-19 | Phần 6
Bảng điều khiển COVID-19 | Phần 6

Chúng tôi sẽ đổi tên các tên cột df thành chữ thường

Bước 11: Bảng điều khiển COVID-19 | Phần 7

Bảng điều khiển COVID-19 | Phần 7
Bảng điều khiển COVID-19 | Phần 7

Chúng tôi sẽ thay đổi tỉnh / tiểu bang thành tiểu bang và quốc gia / khu vực thành quốc gia

Bước 12: Trang tổng quan COVID-19 | Phần 8

Bảng điều khiển COVID-19 | Phần 8
Bảng điều khiển COVID-19 | Phần 8

Chúng tôi sẽ tính toán tổng số trường hợp được xác nhận, tử vong và đã phục hồi.

Bước 13: Bảng điều khiển COVID-19 | Phần 9

Bảng điều khiển COVID-19 | Phần 9
Bảng điều khiển COVID-19 | Phần 9
Bảng điều khiển COVID-19 | Phần 9
Bảng điều khiển COVID-19 | Phần 9

Chúng tôi sẽ hiển thị tổng số thống kê ở định dạng HTML, vì chúng tôi đã nhập các thư viện cụ thể trong bước 7 trước đó như bên dưới:

từ hiển thị nhập IPython.core.display, HTML

Bước 14: Danh sách các quốc gia (Top10) theo số lượng trường hợp | Trang tổng quan COVID-19

Danh sách các quốc gia (Top10) theo Số trường hợp | Trang tổng quan COVID-19
Danh sách các quốc gia (Top10) theo Số trường hợp | Trang tổng quan COVID-19
Danh sách các quốc gia (Top10) theo Số trường hợp | Trang tổng quan COVID-19
Danh sách các quốc gia (Top10) theo Số trường hợp | Trang tổng quan COVID-19

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

Hàm FigureWidget trả về một đối tượng FigureWidget trống với các trục x và y mặc định. Các tiện ích con tương tác Jupyter có thuộc tính bố cục thể hiện một số thuộc tính CSS ảnh hưởng đến cách bố trí các tiện ích con.

pd. DataFrame

tạo khung dữ liệu bằng cách sử dụng từ điển, với ba nền màu cho kết quả để điền vào.

def show_latest_case (TOP)

sắp xếp các giá trị theo thứ tự giảm dần đã xác nhận.

tương tác (show_latest_case, TOP = '10 ')

Chức năng tương tác (ipywidgets.interact) tự động tạo các điều khiển giao diện người dùng (UI) để khám phá mã và dữ liệu một cách tương tác.

ipywLayout = widgets. Layout (border = 'solid 2px green')

tạo một đường viền với các đường màu xanh lục có chiều rộng 2px để hiển thị kết quả.

Bước 15: Tổng số trường hợp trên bản đồ thế giới | Trang tổng quan COVID-19

Tổng số trường hợp trên bản đồ thế giới | Trang tổng quan COVID-19
Tổng số trường hợp trên bản đồ thế giới | Trang tổng quan COVID-19
Tổng số trường hợp trên bản đồ thế giới | Trang tổng quan COVID-19
Tổng số trường hợp trên bản đồ thế giới | Trang tổng quan COVID-19

world_map = folium. Map (location = [11, 0], tile = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)

Folium là một công cụ khiến bạn trông giống như một vị thần lập bản đồ trong khi tất cả công việc được thực hiện ở phần cuối. Nó là một trình bao bọc Python cho một công cụ có tên là leaflet.js. Về cơ bản, chúng tôi cung cấp cho nó những hướng dẫn tối thiểu, JS thực hiện vô số công việc trong nền và chúng tôi nhận được một số bản đồ rất, rất thú vị. Đó là một công cụ tuyệt vời. Để rõ ràng, bản đồ về mặt kỹ thuật được gọi là 'Bản đồ tờ rơi'. Công cụ mà bạn có thể gọi chúng bằng Python được gọi là 'Folium'.

Folium giúp bạn dễ dàng hình dung dữ liệu được thao tác bằng Python trên bản đồ Tờ rơi tương tác. Nó cho phép cả việc liên kết dữ liệu vào bản đồ để hiển thị choropleth cũng như chuyển các trực quan hóa Vincent / Vega làm điểm đánh dấu trên bản đồ.

cho tôi trong phạm vi (0, len (Confirm_df))

Trong một vòng lặp for, chúng ta sẽ nhận được tất cả các trường hợp được xác nhận từ công thức bước 9.

lá cây.

Chúng tôi tạo một bản đồ bong bóng bằng cách sử dụng folium. Circle () để thêm các vòng tròn lặp đi lặp lại.

location = [Confirm_df.iloc ['lat'], Confirm_df.iloc ['long'],

từ Confirm_df của các trường hợp đã xác nhận từ bước 5, chúng tôi trích xuất các giá trị kinh độ và vĩ độ tương ứng với từng dữ liệu vị trí / quốc gia.

bán kính = (int ((np.log (Confirm_df.iloc [i, -1] +1.00001))) + 0,2) * 50000,

tạo đối tượng bán kính để vẽ các vòng tròn bong bóng trên bản đồ thế giới qua các quốc gia.

color = 'red', fill_color = 'indigo',

làm cho đường viền của hình tròn bong bóng có màu đỏ và vùng bên trong là màu chàm.

và cuối cùng là vẽ các vòng tròn trên world_map bằng đối tượng chú giải công cụ.

Bước 16: Kết quả

Kết quả!
Kết quả!
Kết quả!
Kết quả!

Phần đính kèm cho thấy:

  1. Danh sách các quốc gia theo số trường hợp
  2. Tổng số trường hợp trên bản đồ thế giới

Đề xuất: