1908年〜2017年の平均婚姻年齢(初婚・全婚姻)をグラフ化

晩婚化や未婚化がメディアによって声高に叫ばれる昨今、過去は一体どれくらい早婚だったのかということを知りたくなり、1908年〜2017年の平均初婚年齢の推移をグラフ化してみることにした。

スポンサーリンク

データの下準備

先ず、このサイトから必要なデータを漁ってくる。

from IPython.core.display import display, HTML

css = """
table.dataframe {
    font-size:.83em;
}
"""
display(HTML('<style>{}</style>'.format(css)))
from pandas import *

df = read_csv('marriage.csv',encoding='shift_jis')
df.head()
表章項目 時間軸(年次) /平均婚姻年齢及び夫妻の年齢差 平均婚姻年齢_全婚姻-夫 平均婚姻年齢_全婚姻-妻 平均婚姻年齢_初婚-夫 平均婚姻年齢_初婚-妻 平均婚姻年齢差-全婚姻 平均婚姻年齢差-初婚
0 平均年齢【歳】 2017年 NaN 33.4 31.1 31.1 29.4 2.3 1.7
1 平均年齢【歳】 2016年 NaN 33.3 31.1 31.1 29.4 2.2 1.7
2 平均年齢【歳】 2015年 NaN 33.3 31.1 31.1 29.4 2.2 1.7
3 平均年齢【歳】 2014年 NaN 33.2 30.9 31.1 29.4 2.2 1.7
4 平均年齢【歳】 2013年 NaN 33.0 30.8 30.9 29.3 2.2 1.7
df.drop(['表章項目','/平均婚姻年齢及び夫妻の年齢差'],axis=1,inplace=True)
df = df.set_index(['時間軸(年次)'])
df = df.apply(to_numeric, errors="coerce").astype(float)
#df.reset_index(inplace=True)
スポンサーリンク

平均婚姻年齢 (初婚、全婚姻)をプロットする

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=(22,12))
df.dropna(how='any',inplace=True)
df.sort_index(ascending = True,inplace = True)
df[['平均婚姻年齢_初婚-夫','平均婚姻年齢_初婚-妻','平均婚姻年齢_全婚姻-夫','平均婚姻年齢_全婚姻-妻']].plot(ax=ax)
ax.legend(loc='lower right', fancybox=True, framealpha=0.5)
xticks(range(0,len(df.index),2),df.index[::2],rotation=90)
yticks(np.arange(22, 34.1, 1),
       ['{}歳'.format(int(x)) for x in np.arange(22, 34.1, 1)]);

全婚姻とは再婚、再再婚を含んだ婚姻のことである。1908年は、15で姐やは嫁に行き♪なんて歌があるぐらいだから、平均初婚年齢は16歳ぐらいだと思っていたが、23歳というのは驚きだ。

スポンサーリンク

平均初婚年齢をプロットする

全婚姻を入れると、1942年から1952年にいきなりジャンプするので、グラフの精度を高めるために平均初婚年齢のみでプロットする。

fig, ax = subplots(figsize=(22,12))
df.dropna(subset=['平均婚姻年齢_初婚-夫','平均婚姻年齢_初婚-妻'],inplace=True)
df.sort_index(ascending = True,inplace = True)
df[['平均婚姻年齢_初婚-夫','平均婚姻年齢_初婚-妻']].plot(ax=ax)
ax.legend(loc='lower right', fancybox=True, framealpha=0.5)
xticks(range(0,len(df.index),2),df.index[::2],rotation=90)
yticks(np.arange(22, 34.1, 1),
       ['{}歳'.format(int(x)) for x in np.arange(22, 34.1, 1)]);

安倍政権誕生後、初婚年齢が平坦化しているのは、それまで晩婚化だったトレンドが、アベノ大不況により結婚すらできなくなった結果であると、一部の著名な識者達に指摘されている。要するに、政府・日銀の愚の骨頂である円安物価高政策による貧困が原因で、晩婚化から未婚化にトレンド変化を起こしたということだ。アホノミクス開始以来、出生数、婚姻数共にダダ下がりになっているのが何よりの証拠だろう。

スポンサーリンク
スポンサーリンク