1950年〜2017年の年齢別自殺者数の推移をプロットする。日本の自殺者数が減っているのは、ただ単に自殺者を変死者としてカウントする統計上のマジックに過ぎないという批判もあるが、自殺者が減ったと国民を欺くことで、自殺を思い止まる人間がいるかもしれないので、それはそれでいいのかもしれない。
from pandas import *
df = read_csv('suicide.csv',encoding='cp932')
df.head(2)
df.drop(['表章項目','死因年次推移分類','性別','/時間軸(年次)'],axis=1,inplace=True)
df.head(4)
df = df.convert_objects(convert_numeric=True)
0〜100歳以上の年次別自殺者数をプロット¶
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,20))
df[:23][1:].set_index('年齢(5歳階級)').T.plot(kind='barh',ax=ax,stacked=True)
ax.legend(loc='upper right', fancybox=True, framealpha=0.5);
xticks(np.arange(0,3.4e4,1e4/5),
['{}万'.format(float(x/1e4)) if x > 0 else 0 for x in np.arange(0,3.4e4,1e4/5)]);
0〜9歳では自殺者はいないと言っても過言ではないくらい極端に少ない。ここ最近自殺者数が減少しているのは、何でも有りの安倍政権お得意の統計上のマジックだと言われているが、真偽の程は定かではない。
df1 = df[:5][1:].groupby(np.arange(len(df[:5][1:]))//4).sum()
df1.index = df[:5][1:].loc[1::4, '年齢(5歳階級)']
df1.head()
df2 = df[:9][5:].groupby(np.arange(len(df[:9][5:]))//4).sum()
df2.index = df[:9][5:].loc[1::4, '年齢(5歳階級)']
df2.head()
df3 = df[:13][9:].groupby(np.arange(len(df[:13][9:]))//4).sum()
df3.index = df[:13][9:].loc[1::4, '年齢(5歳階級)']
df3.head()
df4 = df[:22][13:].groupby(np.arange(len(df[:22][13:]))//9).sum()
df4.index = df[:22][13:].loc[1::9, '年齢(5歳階級)']
df4.head()
df5 = concat([df1,df2,df3,df4], axis=0)
df5.head()
df5.rename(index={'0~4歳':'0〜19歳','20~24歳':'20〜39歳','40~44歳':'40〜59歳','60~64歳':'60歳〜'},inplace=True)
df5.head()
df5.reset_index(inplace=True)
style.use('fivethirtyeight')
fp = FontProperties(fname='/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf', size=54)
rcParams['font.family'] = fp.get_name()
rcParams["font.size"] = "18"
fig, ax = subplots(figsize=(18,10))
df5.set_index('年齢(5歳階級)').T.plot(kind='barh',ax=ax,stacked=True)
ax.legend(loc='upper right',fancybox=True,framealpha=0.5,prop={'size': 26})
xticks(np.arange(0,3.31e4,1e4/5),
['{}万'.format(float(x/1e3)) if x > 0 else 0 for x in np.arange(0,3.31e3,1e3/5)]);
1990年の0〜19歳の自殺者数が少ないが、この時は2017年に比べて20歳未満人口は1000万人ぐらい多かったと思われるので驚異的な少なさと言えるだろう。1990年と言えばバブルの絶頂期で1億総中流社会と言われたぐらい日本の黄金期だったので、自殺を考える若者も少なかったのかもしれない、俺はと言えば、この時は19〜20歳の過渡期で、生まれて初めて海外旅行に行った年でもある。パリがあまりにも素晴らしかったので、この年は2度パリに行っている。それぐらい良い年であったということだ。55年と60年で未成年自殺が多いのは、アメリカ(連合軍)からの独立間もない混沌とした時代だったからだと思われる。全体的に自殺者数は減っているが、未成年者の自殺者数が増加傾向にあるのは気になるところではある。考えられる原因として、ここ30年で子供に対して不寛容な国になってしまったというのがある。まぁ、5才児でも死にたくなるような国だから仕方ないのだろう。