マイナンバーカード普及状況ダッシュボードの「性別・年齢別」グラフを見ると,老人ほど男性の交付率が大きい。なぜだろう?
最新データのdemographics.csvをダウンロードして調べてみる(ここでは2021/11/01時点のものを使った)。
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("demographics.csv") age = (df.index[1:] - 1) * 5 men = df["交付率(男)"][1:] women = df["交付率(女)"][1:] fig, ax = plt.subplots(ncols=2, figsize=(8, 6)) # 左(男) ax[0].barh(age, men, color="C0", height=5, align="edge", edgecolor="black") ax[0].yaxis.tick_right() # 軸を右に ax[0].set_yticks(range(0, 110, 10)) # 10歳刻み ax[0].set_yticklabels([]) # こちらの軸ラベルは非表示 ax[0].set_xlim([65, 0]) # x軸反転 ax[0].set_xlabel("男(%)") # 右(女) ax[1].barh(age, women, color="C1", height=5, align="edge", edgecolor="black") ax[1].set_yticks(range(0, 110, 10)) ax[1].set_yticklabels([str(i) + "歳" for i in range(0, 110, 10)]) ax[1].set_xlim([0, 65]) ax[1].set_xlabel("女(%)")
確かに年齢が上がるほど男性の交付率が多い。そこで,「数は割合に,割合は数に直してみる」という格言に従って,交付件数(つまり人数)で描き直してみる:
men = df["交付件数(男)"][1:] / 10000 women = df["交付件数(女)"][1:] / 10000 fig, ax = plt.subplots(ncols=2, figsize=(8, 6)) # 左(男) ax[0].barh(age, men, color="C0", height=5, align="edge", edgecolor="black") ax[0].yaxis.tick_right() # 軸を右に ax[0].set_yticks(range(0, 110, 10)) # 10歳刻み ax[0].set_yticklabels([]) # こちらの軸ラベルは非表示 ax[0].set_xlim([230, 0]) # x軸反転 ax[0].set_xlabel("男(万人)") # 右(女) ax[1].barh(age, women, color="C1", height=5, align="edge", edgecolor="black") ax[1].set_yticks(range(0, 110, 10)) ax[1].set_yticklabels([str(i) + "歳" for i in range(0, 110, 10)]) ax[1].set_xlim([0, 230]) ax[1].set_xlabel("女(万人)")
男女の人数はほぼ変わらないことがわかる。おそらく夫婦で取得しているのだろう。
Last modified: