Daftar Isi:

Dasbor COVID19 di Peta Dunia (menggunakan Python): 16 Langkah
Dasbor COVID19 di Peta Dunia (menggunakan Python): 16 Langkah

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

Video: Dasbor COVID19 di Peta Dunia (menggunakan Python): 16 Langkah
Video: Visualisasi Data Covid19 dengan Python | Corona Virus | Covid-19 | Python Data Mining 2021 2024, November
Anonim
Dasbor COVID19 di Peta Dunia (menggunakan Python)
Dasbor COVID19 di Peta Dunia (menggunakan Python)

Saya tahu hampir semua dari kita mengetahui sebagian besar informasi tentang COVID19.

Dan instruksi ini adalah tentang membuat peta gelembung, untuk memplot data waktu nyata (kasus) di peta dunia.

Untuk kenyamanan lebih, saya telah menambahkan program ke repositori Github:

github.com/backshell/COVID19dashboard

Perlengkapan

Tidak ada persediaan yang diperlukan seperti itu dan kami akan melakukan seluruh program komputer melalui Notebook GoogleColab. Jadi akun gmail sudah cukup untuk memulai.

Colab Notebooks / Colaboratory adalah proyek penelitian Google yang dibuat untuk membantu menyebarkan pendidikan dan penelitian machine learning. Ini adalah lingkungan notebook Jupyter yang tidak memerlukan pengaturan untuk digunakan dan berjalan sepenuhnya di cloud.

Dan TIDAK diperlukan instalasi di mesin Anda.

Langkah 1: Memahami Proses Backend (database)

Sebagian besar dari setiap program perangkat lunak mengambil data dari backend dan hasilnya diformat dan dipublikasikan ke front-end. Dan untuk program khusus ini, kami akan membutuhkan data nyata COVID19.

G. W. C. Whiting School of Engineering telah menerbitkan statistik COVID19 melalui akun github-nya:

github.com/CSEGISandData

Dari awal hingga saat ini, statistik bijak negara COVID19 diterbitkan dalam repositori.

Jadi kami akan menggunakan file berformat. CSV dari mereka (negara-negara yang tersegmentasi berdasarkan baris) dan memplot datanya di peta dunia.

Langkah 2: Paket/pustaka Python yang Digunakan dalam Program

Di bawah ini adalah daftar paket dan pustaka python, yang akan kita gunakan. Biarkan saya memberikan gambaran tentang tujuan masing-masing.

mati rasa:

NumPy adalah perpustakaan untuk bahasa pemrograman Python, menambahkan dukungan untuk array dan matriks multidimensi yang besar, bersama dengan banyak koleksi fungsi matematika tingkat tinggi untuk beroperasi pada array ini.

panda:

pandas adalah pustaka perangkat lunak yang ditulis untuk bahasa pemrograman Python untuk manipulasi dan analisis data.

matplotlib.pyplot:

pyplot terutama ditujukan untuk plot interaktif dan kasus sederhana pembuatan plot terprogram

plotly.express:

Plotly Express adalah pustaka visualisasi Python tingkat tinggi baru. Sintaks sederhana untuk bagan kompleks.

folium:

folium memudahkan untuk memvisualisasikan data yang telah dimanipulasi dengan Python pada peta selebaran interaktif.

plotly.graph_objects:

Paket Python plotly ada untuk membuat, memanipulasi, dan membuat gambar grafis (yaitu bagan, plot, peta, dan diagram) yang diwakili oleh struktur data yang juga disebut sebagai gambar.

yg keturunan dr laut:

Seaborn adalah pustaka visualisasi data Python berdasarkan matplotlib. Ini menyediakan antarmuka tingkat tinggi untuk menggambar grafik statistik yang menarik dan informatif.

ipywidget:

ipywidgets adalah widget HTML interaktif untuk notebook Jupyter, JupyterLab, dan kernel IPython. Notebook menjadi hidup saat widget interaktif digunakan.

Menginstal paket ini tidak diperlukan karena kami akan mengerjakan program ini sepenuhnya di Google Colab Notebook (biarkan tetap sebagai colab selama instruksi ini).

Langkah 3: Menyiapkan Drive Anda, untuk Menggunakan Colab

Menyiapkan Drive Anda, untuk Menggunakan Colab
Menyiapkan Drive Anda, untuk Menggunakan Colab
Menyiapkan Drive Anda, untuk Menggunakan Colab
Menyiapkan Drive Anda, untuk Menggunakan Colab

Di Drive Anda, Buat folder untuk buku catatan Anda.

Secara teknis, langkah ini tidak sepenuhnya diperlukan jika Anda ingin mulai bekerja di Colab. Namun, karena Colab bekerja di luar drive Anda, bukanlah ide yang buruk untuk menentukan folder tempat Anda ingin bekerja. Anda dapat melakukannya dengan membuka Google Drive Anda dan mengklik "Baru" dan kemudian membuat folder baru.

Kemudian Anda dapat memilih untuk membuat colabnotebook di sini atau mulai bekerja langsung di colab dan menautkan folder di drive, yang dibuat untuk kerja colab.

Ini adalah praktik yang baik, jika tidak, lebih banyak colab yang kami buat mungkin terlihat berantakan di drive kami.

Langkah 4: Ikhtisar Program

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

  • Daftar Negara berdasarkan Jumlah Kasus
  • Total Kasus di Peta Dunia

Langkah 5: Dasbor COVID-19 | Bagian 1

Dasbor COVID-19 | Bagian 1
Dasbor COVID-19 | Bagian 1

Anda dapat menggunakan masa depan untuk membantu mem-porting kode Anda dari Python 2 ke Python 3 hari ini – dan masih menjalankannya di Python 2.

Jika Anda sudah memiliki kode Python 3, Anda dapat menggunakan masa depan untuk menawarkan kompatibilitas Python 2 dengan hampir tanpa kerja ekstra.

masa depan mendukung reorganisasi perpustakaan standar (PEP 3108) melalui salah satu dari beberapa mekanisme, memungkinkan sebagian besar modul perpustakaan standar yang dipindahkan untuk diakses dengan nama dan lokasi Python 3 mereka di Python 2.

Langkah 6: Dasbor COVID-19 | Bagian 2

Dasbor COVID-19 | Bagian 2
Dasbor COVID-19 | Bagian 2

Fungsi interaksi (ipywidgets.interact) secara otomatis membuat kontrol antarmuka pengguna (UI) untuk menjelajahi kode dan data secara interaktif. Ini adalah cara termudah untuk mulai menggunakan widget IPython.

Langkah 7: Dasbor COVID-19 | Bagian 3

Dasbor COVID-19 | Bagian 3
Dasbor COVID-19 | Bagian 3

display_html menampilkan representasi HTML dari suatu objek. Artinya, ia mencari metode tampilan terdaftar, seperti _repr_html_, dan memanggilnya, menampilkan hasilnya, jika ada.

Langkah 8: Dasbor COVID-19 | Bagian 4

Dasbor COVID-19 | Bagian 4
Dasbor COVID-19 | Bagian 4

Daftar paket (seperti yang dijelaskan pada langkah2) diimpor ke program.

Langkah 9: Dasbor COVID-19 | Bagian 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')

dikonfirmasi_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')

pulih_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 langkah1, membaca data sebagai file.csv dari repositori.

Langkah 10: Dasbor COVID-19 | Bagian 6

Dasbor COVID-19 | Bagian 6
Dasbor COVID-19 | Bagian 6

Kami akan mengganti nama kolom df menjadi huruf kecil

Langkah 11: Dasbor COVID-19 | Bagian 7

Dasbor COVID-19 | Bagian 7
Dasbor COVID-19 | Bagian 7

Kami akan mengubah provinsi/negara bagian menjadi negara bagian dan negara/wilayah menjadi negara

Langkah 12: Dasbor COVID-19 | Bagian 8

Dasbor COVID-19 | Bagian 8
Dasbor COVID-19 | Bagian 8

Kami akan menghitung jumlah total kasus yang dikonfirmasi, meninggal dan pulih.

Langkah 13: Dasbor COVID-19 | Bagian 9

Dasbor COVID-19 | Bagian 9
Dasbor COVID-19 | Bagian 9
Dasbor COVID-19 | Bagian 9
Dasbor COVID-19 | Bagian 9

Kami akan menampilkan statistik total dalam format HTML, karena kami mengimpor perpustakaan tertentu di langkah 7 sebelumnya seperti di bawah ini:

dari tampilan impor IPython.core.display, HTML

Langkah 14: Daftar Negara(10 Teratas) berdasarkan Jumlah Kasus | Dasbor COVID-19

Daftar Negara(10 Teratas) berdasarkan Jumlah Kasus | Dasbor COVID-19
Daftar Negara(10 Teratas) berdasarkan Jumlah Kasus | Dasbor COVID-19
Daftar Negara(10 Teratas) berdasarkan Jumlah Kasus | Dasbor COVID-19
Daftar Negara(10 Teratas) berdasarkan Jumlah Kasus | Dasbor COVID-19

ara = go. GambarWidget(layout=go. Layout())

Fungsi FigureWidget mengembalikan objek FigureWidget kosong dengan sumbu x dan y default. Widget interaktif Jupyter memiliki atribut tata letak yang memperlihatkan sejumlah properti CSS yang memengaruhi tata letak widget.

pd. DataFrame

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

def show_latest_cases(TOP)

mengurutkan nilai dengan urutan menurun yang dikonfirmasi.

berinteraksi(show_latest_cases, TOP='10')

Fungsi interaksi (ipywidgets.interact) secara otomatis membuat kontrol antarmuka pengguna (UI) untuk menjelajahi kode dan data secara interaktif.

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

membuat batas dengan garis lebar 2px berwarna hijau, untuk menampilkan hasilnya.

Langkah 15: Jumlah Kasus di Peta Dunia | Dasbor COVID-19

Total Kasus di Peta Dunia | Dasbor COVID-19
Total Kasus di Peta Dunia | Dasbor COVID-19
Total Kasus di Peta Dunia | Dasbor COVID-19
Total Kasus di Peta Dunia | Dasbor COVID-19

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

Folium adalah alat yang membuat Anda terlihat seperti Tuhan pemetaan sementara semua pekerjaan dilakukan di bagian belakang. Ini adalah pembungkus Python untuk alat yang disebut leaflet.js. Kami pada dasarnya memberikan instruksi minimal, JS melakukan banyak pekerjaan di latar belakang dan kami mendapatkan beberapa peta yang sangat, sangat keren. Ini barang bagus. Untuk lebih jelasnya, peta tersebut secara teknis disebut 'Leaflet Map'. Alat yang memungkinkan Anda memanggil mereka dengan Python disebut 'Folium'.

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

untuk saya dalam rentang (0, len(confirmed_df))

Dalam perulangan for, kita akan mendapatkan semua kasus yang dikonfirmasi dari formulasi step9.

folium. Lingkaran

Kami membuat peta gelembung dengan menggunakan folium. Circle() untuk menambahkan lingkaran secara iteratif.

lokasi=[confirmed_df.iloc['lat'], confirm_df.iloc['long'], dari df yang dikonfirmasi dari kasus yang dikonfirmasi dari langkah 5, kami mengekstrak nilai garis lintang dan garis bujur yang sesuai dengan setiap data lokasi/negara.

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

warna='merah', isi_warna='indigo', membuat garis luar lingkaran gelembung berwarna merah dan bagian dalam sebagai nila.

dan akhirnya memplot lingkaran di world_map menggunakan objek tooltip.

Langkah 16: Hasilnya

Hasil!
Hasil!
Hasil!
Hasil!

Lampiran menunjukkan:

  1. Daftar Negara berdasarkan Jumlah Kasus
  2. Total Kasus di Peta Dunia

Direkomendasikan: