View on GitHub

Covid-19-Jabar

Eksplorasi dan Analisa Data Covid-19 di Provinsi Jawa Barat

COVID-19 (coronavirus disease 2019) adalah penyakit yang disebabkan oleh virus dari golongan Coronavirus, yaitu SARS-CoV-2 yang juga sering disebut virus corona. Aksi pemerintah dalam menangani kasus ini salah satunya dengan mengumpulkan dan mengelola data covid-19 yang kemudian dipublikasikan dalam bentuk visualisasi data. Sehingga masyarakat umum dapat memahami informasi perkembangan covid-19 dari hari ke hari dengan mudah. Contohnya saja portal PIKOBAR yang dikelola oleh pemerintah Jawa Barat.

Pada project ini akan dilakukan eksplorasi data covid-19 yang ada di provinsi Jawa Barat. Ada beberapa tahap yang akan dikerjakan, seperti dibawah ini.

1. Mengakses Dataset Menggunakan API

import requests
resp_jabar = requests.get('https://data.covid19.go.id/public/api/prov_detail_JAWA_BARAT.json')
print(resp_jabar) #untuk mengetahui status get API

image

print(resp_jabar.headers)

image

2. Mengekstrak dan Membersihkan Dataset

cov_jabar_raw = resp_jabar.json()
import pandas as pd
import numpy as np

cov_jabar = pd.DataFrame(cov_jabar_raw['list_perkembangan'])
print(cov_jabar.info())
print(cov_jabar.head())

image
image

cov_jabar_tidy = (cov_jabar.drop(columns=[item for item in cov_jabar.columns
                                          if item.startswith('AKUMULASI') 
                                          or item.startswith('DIRAWAT')])
                  .rename(columns=str.lower)
                  .rename(columns={'kasus':'kasus_baru'})
                 )
cov_jabar_tidy['tanggal']=pd.to_datetime(cov_jabar_tidy['tanggal']*1e6,unit='ns')     
print('Lima data teratas\n',cov_jabar_tidy.head())

image

3. Membuat Visualisasi Data

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.clf()
fig, ax = plt.subplots(figsize=(10,5))
ax.bar(data=cov_jabar_tidy, x='tanggal', height='sembuh', color='olivedrab')
ax.set_title('Kasus Harian Sembuh dari COVID-19 di Jawa Barat',
             fontsize=22)
ax.set_xlabel('')
ax.set_ylabel('Jumlah kasus')
ax.text(1, -0.3, 'Sumber data: data.covid19.go.id', color='blue',
        ha='right', transform=ax.transAxes)
ax.set_xticklabels(ax.get_xticks(), rotation=45)

ax.xaxis.set_major_locator(mdates.MonthLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%b %Y'))

plt.grid(axis='y')
plt.tight_layout()
plt.show()

image

Project Lainnya >