Isi kandungan:

Papan Pemuka COVID19 di Peta Dunia (menggunakan Python): 16 Langkah
Papan Pemuka COVID19 di Peta Dunia (menggunakan Python): 16 Langkah

Video: Papan Pemuka COVID19 di Peta Dunia (menggunakan Python): 16 Langkah

Video: Papan Pemuka COVID19 di Peta Dunia (menggunakan Python): 16 Langkah
Video: Gaya Mahasiswa Presentasi #shorts 2024, November
Anonim
Papan Pemuka COVID19 di Peta Dunia (menggunakan Python)
Papan Pemuka COVID19 di Peta Dunia (menggunakan Python)

Saya tahu hampir semua kita tahu kebanyakan maklumat mengenai COVID19.

Dan petunjuk ini adalah mengenai membuat peta gelembung, untuk memplot data masa nyata (kes) di peta dunia.

Untuk lebih banyak kemudahan, saya telah menambahkan program ke repositori Github:

github.com/backshell/COVID19dashboard

Bekalan

Tidak ada persediaan yang diperlukan dan kami akan melakukan keseluruhan program komputer melalui GoogleColab Notebook. Oleh itu, akaun gmail harus mencukupi untuk memulakannya.

Colab Notebooks / Colaboratory adalah projek penyelidikan Google yang dibuat untuk membantu menyebarkan pendidikan dan penyelidikan pembelajaran mesin. Ini adalah persekitaran notebook Jupyter yang tidak memerlukan persediaan untuk digunakan dan berjalan sepenuhnya di awan.

Dan TIADA pemasangan yang diperlukan di mesin anda.

Langkah 1: Memahami Proses Backend (pangkalan data)

Sebilangan besar setiap program perisian mengambil data dari backend dan hasilnya diformat dan diterbitkan ke bahagian depan. Dan untuk program ini, kami memerlukan data sebenar COVID19.

G. W. C. Whiting School of Engineering telah menerbitkan statistik COVID19 melalui akaun githubnya:

github.com/CSSEGISdan Data

Dari awal hingga tarikh, statistik negara COVID19 diterbitkan di repositori.

Oleh itu, kami akan menggunakan fail berformat. CSV dari mereka (disegmentasikan berdasarkan baris negara) dan memplot data di peta dunia.

Langkah 2: Pakej Python / perpustakaan yang Digunakan dalam Program

Berikut adalah senarai pakej dan pustaka python yang akan kita gunakan. Izinkan saya memberi gambaran umum mengenai tujuan masing-masing.

numpy:

NumPy adalah perpustakaan untuk bahasa pengaturcaraan Python, menambahkan sokongan untuk tatasusunan dan matriks multi-dimensi yang besar, bersama dengan koleksi besar fungsi matematik peringkat tinggi untuk beroperasi pada tatasusunan ini.

panda:

pandas adalah perpustakaan perisian yang ditulis untuk bahasa pengaturcaraan Python untuk manipulasi dan analisis data.

matplotlib.pyplot:

pyplot terutamanya ditujukan untuk plot interaktif dan kes mudah untuk membuat plot plot

plotly.express:

Plotly Express adalah perpustakaan visualisasi Python peringkat tinggi yang baru. Sintaks mudah untuk carta kompleks.

folium:

folium memudahkan untuk memvisualisasikan data yang dimanipulasi di Python pada peta risalah interaktif.

plotly.graph_objects:

Pakej Python secara plot wujud untuk membuat, memanipulasi dan membuat angka grafik (iaitu carta, plot, peta dan rajah) yang diwakili oleh struktur data yang juga disebut sebagai angka.

dasar laut:

Seaborn adalah perpustakaan visualisasi data Python berdasarkan matplotlib. Ia menyediakan antara muka tahap tinggi untuk melukis grafik statistik yang menarik dan bermaklumat.

ipywidget:

ipywidget adalah widget HTML interaktif untuk notebook Jupyter, JupyterLab dan kernel IPython. Buku nota menjadi hidup apabila widget interaktif digunakan.

Memasang pakej ini tidak diperlukan kerana kami akan mengerjakan program ini sepenuhnya di Google Colab Notebook (mari simpan sebagai colab di sepanjang arahan ini).

Langkah 3: Siapkan Pemacu Anda, untuk Menggunakan Colab

Menyiapkan Pemacu Anda, untuk Menggunakan Colab
Menyiapkan Pemacu Anda, untuk Menggunakan Colab
Menyiapkan Pemacu Anda, untuk Menggunakan Colab
Menyiapkan Pemacu Anda, untuk Menggunakan Colab

Di Drive anda, Buat folder untuk buku nota anda.

Secara teknikal, langkah ini tidak sepenuhnya diperlukan jika anda ingin mula bekerja di Colab. Walau bagaimanapun, kerana Colab berfungsi di luar pemacu anda, bukan idea yang buruk untuk menentukan folder tempat anda mahu bekerja. Anda boleh melakukannya dengan pergi ke Google Drive anda dan mengklik "Baru" dan kemudian membuat folder baru.

Kemudian anda boleh memilih untuk membuat buku colabnot di sini atau mula bekerja secara langsung bekerja di colab dan memautkan folder dalam pemacu, yang dibuat untuk kerja colab.

Ini adalah amalan yang baik, jika tidak, colab yang kita buat mungkin kelihatan tidak kemas dalam perjalanan kita.

Langkah 4: Gambaran Keseluruhan Program

Dalam program / buku nota ini, kami akan membuat yang berikut untuk COVID-19:

  • Senarai Negara mengikut Bilangan Kes
  • Jumlah Kes di Peta Dunia

Langkah 5: Papan Pemuka COVID-19 | Bahagian 1

Papan Pemuka COVID-19 | Bahagian 1
Papan Pemuka COVID-19 | Bahagian 1

Anda boleh menggunakan masa depan untuk membantu memindahkan kod anda dari Python 2 ke Python 3 hari ini - dan masih boleh dijalankan di Python 2.

Sekiranya anda sudah mempunyai kod Python 3, anda boleh menggunakan masa depan untuk menawarkan keserasian Python 2 dengan hampir tidak ada kerja tambahan.

masa depan menyokong penyusunan semula perpustakaan standard (PEP 3108) melalui salah satu daripada beberapa mekanisme, yang membolehkan kebanyakan modul perpustakaan standard yang dipindahkan diakses dengan nama dan lokasi Python 3 mereka di Python 2.

Langkah 6: Papan Pemuka COVID-19 | Bahagian 2

Papan Pemuka COVID-19 | Bahagian 2
Papan Pemuka COVID-19 | Bahagian 2

Fungsi interaksi (ipywidgets.interact) secara automatik membuat kawalan antara muka pengguna (UI) untuk meneroka kod dan data secara interaktif. Ini adalah kaedah termudah untuk memulakan penggunaan widget IPython.

Langkah 7: Papan Pemuka COVID-19 | Bahagian 3

Papan Pemuka COVID-19 | Bahagian 3
Papan Pemuka COVID-19 | Bahagian 3

display_html memaparkan representasi HTML objek. Artinya, ia mencari kaedah paparan berdaftar, seperti _repr_html_, dan memanggilnya, memaparkan hasilnya, jika ada.

Langkah 8: Papan Pemuka COVID-19 | Bahagian 4

Papan Pemuka COVID-19 | Bahagian 4
Papan Pemuka COVID-19 | Bahagian 4

Senarai pakej (seperti yang dijelaskan pada langkah2) akan diimport ke program.

Langkah 9: Papan Pemuka COVID-19 | Bahagian 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')

Seperti yang dijelaskan pada langkah 1, membaca data sebagai fail.csv dari repositori.

Langkah 10: Papan Pemuka COVID-19 | Bahagian 6

Papan Pemuka COVID-19 | Bahagian 6
Papan Pemuka COVID-19 | Bahagian 6

Kami akan menamakan semula nama lajur df menjadi huruf kecil

Langkah 11: Papan Pemuka COVID-19 | Bahagian 7

Papan Pemuka COVID-19 | Bahagian 7
Papan Pemuka COVID-19 | Bahagian 7

Kita akan menukar provinsi / negeri ke negeri dan negara / wilayah ke negara

Langkah 12: Papan Pemuka COVID-19 | Bahagian 8

Papan Pemuka COVID-19 | Bahagian 8
Papan Pemuka COVID-19 | Bahagian 8

Kami akan menghitung jumlah kes yang disahkan, mati dan pulih.

Langkah 13: Papan Pemuka COVID-19 | Bahagian 9

Papan Pemuka COVID-19 | Bahagian 9
Papan Pemuka COVID-19 | Bahagian 9
Papan Pemuka COVID-19 | Bahagian 9
Papan Pemuka COVID-19 | Bahagian 9

Kami akan memaparkan jumlah statistik dalam format HTML, kerana kami mengimport perpustakaan tertentu pada langkah7 lebih awal seperti di bawah:

dari paparan import IPython.core.display, HTML

Langkah 14: Senarai Negara (Top10) mengikut Bilangan Kes | Papan Pemuka COVID-19

Senarai Negara (Top10) mengikut Bilangan Kes | Papan Pemuka COVID-19
Senarai Negara (Top10) mengikut Bilangan Kes | Papan Pemuka COVID-19
Senarai Negara (Top10) mengikut Bilangan Kes | Papan Pemuka COVID-19
Senarai Negara (Top10) mengikut Bilangan Kes | Papan Pemuka COVID-19

fig = go. FigureWidget (susun atur = go. Layout ())

Fungsi FigureWidget mengembalikan objek FigureWidget kosong dengan paksi x dan y lalai. Widget interaktif Jupyter mempunyai atribut layout yang memperlihatkan sejumlah sifat CSS yang mempengaruhi bagaimana widget disusun.

pd. DataFrame

membuat bingkai data menggunakan kamus, dengan tiga latar belakang warna agar hasilnya dapat diisi.

def show_latest_cases (TOP)

menyusun nilai dengan susunan menurun yang disahkan.

berinteraksi (show_latest_cases, TOP = '10 ')

Fungsi interaksi (ipywidgets.interact) secara automatik membuat kawalan antara muka pengguna (UI) untuk meneroka kod dan data secara interaktif.

ipywLayout = widgets. Layout (sempadan = 'pepejal 2px hijau')

membuat sempadan dengan garis lebar 2 px warna hijau, agar hasilnya dapat dipaparkan.

Langkah 15: Jumlah Kes di Peta Dunia | Papan Pemuka COVID-19

Jumlah Kes di Peta Dunia | Papan Pemuka COVID-19
Jumlah Kes di Peta Dunia | Papan Pemuka COVID-19
Jumlah Kes di Peta Dunia | Papan Pemuka COVID-19
Jumlah Kes di Peta Dunia | Papan Pemuka COVID-19

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

Folium adalah alat yang membuat anda kelihatan seperti pemetaan Tuhan sementara semua kerja dilakukan di bahagian belakang. Ia adalah pembungkus Python untuk alat yang disebut leaflet.js. Kami pada dasarnya memberikan petunjuk minimum, JS melakukan banyak pekerjaan di latar belakang dan kami mendapat beberapa peta yang sangat menarik. Ia adalah barang yang hebat. Untuk kejelasan, peta secara teknikal disebut 'Peta Daun'. Alat yang membolehkan anda memanggilnya dalam Python dipanggil 'Folium'.

Folium memudahkan untuk memvisualisasikan data yang dimanipulasi di Python pada peta Leaflet interaktif. Ini membolehkan pengikatan data ke peta untuk visualisasi choropleth serta menyampaikan visualisasi Vincent / Vega sebagai penanda pada peta.

untuk i dalam jarak (0, len (confirm_df))

Dalam loop for, kami akan mendapatkan semua kes yang disahkan dari rumusan step9.

folium. Lingkaran

Kami membuat peta gelembung dengan menggunakan folium. Circle () untuk menambahkan bulatan secara berulang.

lokasi = [confirm_df.iloc ['lat'], confirm_df.iloc ['long'], dari dikonfirmasi_df kes yang disahkan dari langkah5, kami mengekstrak nilai garis lintang dan garis bujur yang sesuai dengan setiap data lokasi / negara.

jejari = (int ((np.log (confirm_df.iloc [i, -1] +1.00001))) + 0.2) * 50000, membuat objek jejari untuk memplot lingkaran gelembung di peta dunia di seluruh negara.

warna = 'merah', fill_color = 'indigo', menjadikan garis bulatan gelembung menjadi merah dan kawasan dalam sebagai indigo.

dan akhirnya memplot bulatan di world_map menggunakan objek petua alat.

Langkah 16: Hasilnya

Keputusan!
Keputusan!
Keputusan!
Keputusan!

Lampiran menunjukkan:

  1. Senarai Negara mengikut Bilangan Kes
  2. Jumlah Kes di Peta Dunia

Disyorkan: