日本人の年齢別死亡者数の推移をグラフ化する。各年齢層で毎年どれくらい死んでいるのかは以前から気になっていたので、ちょうどいい機会なので調べてみることにした。
from pandas import *
df = read_csv('dead.csv',encoding='shift_jis')
df.head()
df = df.convert_objects(convert_numeric=True)
df.drop(['表章項目','死因年次推移分類','性別','/時間軸(年次)'],axis=1,inplace=True)
df.head(3)
スポンサーリンク
0〜4歳の年次別死亡者数をプロット¶
from matplotlib.pyplot import *
from matplotlib.font_manager import FontProperties
from matplotlib import rcParams
style.use('ggplot')
fp = FontProperties(fname='/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf', size=54)
rcParams['font.family'] = fp.get_name()
rcParams["font.size"] = "20"
fig, ax = subplots(figsize=(25,12))
df.loc[1][1:].sort_values(ascending=False, inplace=False).plot(kind='barh',ax=ax)
xticks(np.arange(0,2.5e5,1e5/10),
['{}万'.format(int(x/1e4)) if x > 0 else 0 for x in np.arange(0,2.5e5,1e5/10)])
for i in ax.patches:
ax.text(i.get_width()+1e3,i.get_y()+.48,\
int(round((i.get_width()),1)),fontsize=22,fontname='Arial',color='dimgrey',fontweight='bold')
ax.invert_yaxis();
1950年は死に過ぎ。1950年の0〜4歳死亡者数は、(0〜4歳人口比を加味すると)2017年の約40倍といったところだろう。今の日本の子供は昔の子供に比べると病死が著しく減ったので幸せだ。
スポンサーリンク
100歳以上の年次別死亡者数をプロット¶
fig, ax = subplots(figsize=(25,12))
df.loc[21][1:].sort_values(ascending=True, inplace=False).plot(kind='barh',ax=ax)
xticks(np.arange(0,3.1e4,1e4/5),
['{}万'.format(float(x/1e4)) if x > 0 else 0 for x in np.arange(0,3.1e4,1e4/5)])
for i in ax.patches:
ax.text(i.get_width()+1e2,i.get_y()+.48,\
int(round((i.get_width()),1)),fontsize=22,fontname='Arial',color='dimgrey',fontweight='bold')
ax.invert_yaxis();
過去60年間で、100歳以上死者数は凄まじい勢いで増えている。
スポンサーリンク
2017年の年齢別死亡者数をプロットする¶
fig, ax = subplots(figsize=(25,12))
df[['2017年','年齢(5歳階級)']][:23][1:].set_index('年齢(5歳階級)').plot(ax=ax,kind='barh')
xticks(np.arange(0,2.9e5,1e5/10),
['{}万'.format(int(x/1e4)) if x > 0 else 0 for x in np.arange(0,2.9e5,1e5/10)])
ax.legend(["死亡者数"],loc='upper right', prop={'size': 26});
85歳〜89歳が一番多い。5〜14歳はほとんど死んでないことが分かる。5〜19歳よりも0〜4歳の方が死亡者数が多い。年齢不詳もほとんどいないことが見て取れる。
スポンサーリンク
スポンサーリンク