COVID-19(신형 코로나 바이러스)의 인구당 사망자 수를 국가별로 집계해 보았다
9319 단어 pandas파이썬matplotlib
목적
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)
플롯
무엇을 생각하는지는 당신에 달려 있습니다.
Reference
이 문제에 관하여(COVID-19(신형 코로나 바이러스)의 인구당 사망자 수를 국가별로 집계해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/terakawa@github/items/398ce8e156c59793fa51
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
국가별로 감염자수, 사망자수, 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)
플롯
무엇을 생각하는지는 당신에 달려 있습니다.
Reference
이 문제에 관하여(COVID-19(신형 코로나 바이러스)의 인구당 사망자 수를 국가별로 집계해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/terakawa@github/items/398ce8e156c59793fa51
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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)
무엇을 생각하는지는 당신에 달려 있습니다.
Reference
이 문제에 관하여(COVID-19(신형 코로나 바이러스)의 인구당 사망자 수를 국가별로 집계해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/terakawa@github/items/398ce8e156c59793fa51텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)