📖
消費者物価指数データを取得するPythonのコード
この記事について
e-Statから消費者物価指数データをPythonで取得します。
Pythonのコード
jpy-datareaderを使います。
from jpy_datareader import estat
消費者物価指数のデータ数を確認します。
metainfo = estat.MetaInfoReader(api_key, statsDataId="0003427113", name_or_id="name")
meta = metainfo.read()
metainfo.OVERALL_TOTAL_NUMBER
12486296
データ数が多いため、条件で絞ります。
メタデータを確認します。
meta['cat01']
meta['area']
条件で絞って、消費者物価指数のデータを取得します。
statsdata = estat.StatsDataReader(api_key, statsDataId="0003427113", name_or_id="name", cdArea="00000", cdCat01="0001")
df = statsdata.read(normal=True)
必要な列に絞ります。
cpi = df[["時間軸_コード", "時間軸(年・月)階層レベル", "表章項目名", "値"]]
cpi.loc[:, "年"] = cpi["時間軸_コード"].str[:4].astype(int)
cpi.loc[:, "開始月"] = cpi["時間軸_コード"].str[6:8].astype(int)
cpi.loc[:, "月"] = cpi["時間軸_コード"].str[8:].astype(int)
Plotlyで可視化
import plotly.express as px
物価指数を可視化します。
cond = cpi["時間軸(年・月)階層レベル"] == "4"
cond &= cpi["表章項目名"] == "指数"
cpi_monthly = cpi[cond]
cpi_monthly["年月"] = pd.to_datetime(cpi_monthly["年"].astype(str) + "-" + cpi_monthly["月"].astype(str) + "-" + "1")
px.line(cpi_monthly,
x="年月",
y="値"
)
インフレ率を可視化します。
cond = cpi["時間軸(年・月)階層レベル"]=="1"
cond &= cpi["表章項目名"] == "前月比・前年比・前年度比"
inflation_rate = cpi[cond]
inflation_rate["値"] = inflation_rate["値"] / 100
px.line(inflation_rate,
x="年",
y="値"
)
Discussion