COVID-19(신형 코로나 바이러스)의 인구당 사망자 수를 국가별로 집계해 보았다

목적



COVID-19의 인구당 사망자 수를 국가별로 계산한다. 감염자수로 비교하는 것은 인구도 검사수도 나라마다 다르므로 넌센스. 조사해도 좀처럼 나오지 않거나 날짜가 오래되었기 때문에 자작했습니다.

데이터 소스



국가별로 감염자수, 사망자수, 2018년의 인구가 정리되어 있다 데이터 가 있었습니다. 2020년 4월 4일 현재의 데이터이므로 「data20200404.csv」로서 보존했습니다.

소스 코드



처음 pandas를 사용해 보았습니다. 편리.
import pandas as pd
import matplotlib.pyplot as plt
import datetime as dt

coutry_for_analysis = [
    'United_States_of_America', 'United_Kingdom', 'France', 'Germany', 'Japan',
    'Italy', 'China', 'South_Korea', 'Spain'
]

data = pd.read_csv('data20200404.csv')
data['dateRep'] = pd.to_datetime(data['dateRep'], format="%d/%m/%Y")

fig = plt.figure(figsize=(12, 8))

plt.rcParams['font.family'] = 'Arial'
plt.rcParams['font.size'] = 18
plt.rcParams['xtick.major.width'] = 2.0
plt.rcParams['ytick.major.width'] = 2.0
ax = fig.add_subplot(111)
ax.set_xlabel('Date')
ax.set_ylabel('Cumulative # of Death per population (%)')
ax.spines['top'].set_linewidth(0)
ax.spines['bottom'].set_linewidth(2.0)
ax.spines['left'].set_linewidth(2.0)
ax.spines['right'].set_linewidth(0)
ax.tick_params(axis='x', rotation=45)
ax.set_xlim([dt.date(2020, 3, 1), dt.date(2020, 4, 5)])

for key, grp in data.groupby('countriesAndTerritories'):
    if key in coutry_for_analysis:
        grp = grp.sort_values('dateRep')
        ax.plot(
            grp['dateRep'],
            100.0 * grp['deaths'].cumsum() / grp['popData2018'],
            label=key,
            linewidth=2.0,
            marker='o',
            markersize=6)

ax.legend(ncol=3, bbox_to_anchor=(0., 1.02, 1., 0.102), loc=3, fontsize=18)

plt.savefig('figure.svg', bbox_inches='tight', pad_inches=0.5)

플롯



무엇을 생각하는지는 당신에 달려 있습니다.

좋은 웹페이지 즐겨찾기