日本人の平均寿命

Rで描いた日本人の平均寿命のPython版である。

厚労省平成30年簡易生命表の概況にある平成30年簡易生命表の「年齢」および男女「生存数」(10万人あたり)を抜き出したものを読んでプロットする。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("https://oku.edu.mie-u.ac.jp/~okumura/stat/data/lifetable2018.csv")
plt.plot(df.Age, df.Male / 100000)
plt.plot(df.Age, df.Female / 100000)
plt.yticks([0, 0.5, 1])
plt.grid()
plt.legend(["男", "女"])
plt.xlabel("年齢")
plt.ylabel("生存率")
plt.savefig('190731a.png', bbox_inches="tight")
年齢と生存率

2018年の平均寿命は男81.25歳,女87.32歳であるが,寿命の中央値(上の図の半減期)にあたる寿命中位数は男84.23歳,女90.11歳である。これは上の図を描いた後で plt.xlim(80, 92) などと打ち込んで右の方を拡大すると読み取りやすい。

ついでに平均寿命の推移も:

df2 = pd.read_csv("https://oku.edu.mie-u.ac.jp/~okumura/stat/data/life_expectancy_Japan.csv",
                  comment="#")
plt.plot(df2.Year, df2.Male, "o-")
plt.plot(df2.Year, df2.Female, "o-")
plt.xlabel("年")
plt.ylabel("平均寿命")
plt.grid()
plt.legend(["男", "女"])
plt.savefig('190731b.png', bbox_inches="tight")
平均寿命の推移

1990年以降に限ってプロット:

df3 = df2[df2.Year >= 1990]
plt.plot(df3.Year, df3.Male, "o-")
plt.plot(df3.Year, df3.Female, "o-")
plt.xlabel("年")
plt.ylabel("平均寿命")
plt.grid()
plt.legend(["男", "女"])
plt.savefig('190731c.png', bbox_inches="tight")
平均寿命の推移

1995年は阪神・淡路大震災,2011年は東日本大震災の年である。


Last modified: