🗂

米国CPIデータを取得するPythonのコード

2022/11/27に公開

この記事について

FREDから米国CPIデータをPythonで取得します。

Wikipadeaによると、アメリカ合衆国では、人口の約90%を対象とする全都市消費者物価指数(CPI-U:CPI for All Urban Consumers)がCPIとして一般的に使用されています。アメリカ労働統計局(US Bureau of Labor Statistics)が発表しています。データはここから探せます。APIも提供されています。getAPIは、はじめに登録が必要です。

FREDのほうが手軽にデータを取得できます。

Pythonのコード

pandas_datareaderを使います。
なお、FREDのAPIを使う場合はfredapiというライブラリもあります。

import datetime
import pandas_datareader.data as web

start = datetime.datetime(1950, 1, 1)
end = datetime.datetime(2022, 10, 31)

(季節調整前)CPIを取得します。

cpi = web.DataReader('CPIAUCNS', 'fred', start, end)
cpi

季節調整済CPIを取得します。

cpi = web.DataReader('CPIAUCSL', 'fred', start, end)
cpi

ちなみにアメリカ労働統計局のpostAPIでデータ取得するコードは以下です。

import requests
import json

headers = {'Content-type': 'application/json'}
data = json.dumps({"seriesid": ['CUSR0000SA0'],"startyear":"2011", "endyear":"2014"})
p = requests.post('https://api.bls.gov/publicAPI/v2/timeseries/data/', data=data, headers=headers)
json_data = json.loads(p.text)

df = pd.DataFrame(json_data['Results']['series'][0]['data'])

Plotlyで可視化

import plotly
import plotly.express as px
cpi = cpi.reset_index()

px.line(cpi,
    x="DATE",
    y="CPIAUCNS"
)

Discussion