Python COVID19 Dashboard

김소은·2025년 5월 23일

0. 주제 선정

시기별 각 나라의 신규 확진자수 추이

1. 개발 환경 준비

import pandas as pd
import plotly.express as px

2. 데이터 소스 선정 및 수집

✔️ Our World in Data (OWID) COVID-19 API/CSV

url = "https://covid.ourworldindata.org/data/owid-covid-data.csv"

3. 데이터 전처리

df = pd.read_csv(url, parse_dates=["date"])

cols = ["date","location","new_cases","new_deaths","total_cases","total_deaths"]
covid = df[cols].dropna(subset=["date","location"])

covid = covid[(covid.date >= "2020-01-01") & (covid.date <= "2024-01-01")]
covid["new_cases"] = covid["new_cases"].fillna(0)

4. Plotly를 이용한 시각화

top5 = ["South Korea","United States","India","Brazil","Germany"]
fig = px.line(
    covid[covid.location.isin(top5)],
    x="date", y="new_cases", color="location",
    title="Daily New Cases: Top 5 Countries"
)
fig.update_layout(yaxis_title="New Cases")
fig.show()

5. 전체 코드

import pandas as pd
import plotly.express as px


url = "https://covid.ourworldindata.org/data/owid-covid-data.csv"
df = pd.read_csv(url, parse_dates=["date"])


cols = ["date","location","new_cases","new_deaths","total_cases","total_deaths"]
covid = df[cols].dropna(subset=["date","location"])

covid = covid[(covid.date >= "2020-01-01") & (covid.date <= "2024-01-01")]
covid["new_cases"] = covid["new_cases"].fillna(0)


top5 = ["South Korea","United States","India","Brazil","Germany"]
fig = px.line(
    covid[covid.location.isin(top5)],
    x="date", y="new_cases", color="location",
    title="Daily New Cases: Top 5 Countries"
)
fig.update_layout(yaxis_title="New Cases")
fig.show()

6. 결과 그래프

profile
개발자

0개의 댓글