リモートデータアクセス¶
jpd.DataReader
を利用すると、国内のデータソースの情報を DataFrame
として取得できます。以下のデータソースをサポートしています。
estat
: e-Stat API から統計情報を取得。- ほか、
pd.DataReader
でサポートしているデータソース
利用できるオプションは pd.DataReader
とほぼ同一です。ここでは、差異がある点のみ記載します。
e-Stat API¶
以下のコードに対応するデータを取得できます。
- 政府統計コード (8桁): e-Stat API 提供データ から確認できる 8桁のコードです。取得したデータには、各統計に付随する “統計表ID” が含まれます。
- 統計表ID: 実データを含む表のIDです。
まず、取得したいデータを含む政府統計コードから統計表IDの一覧を取得します。
>>> key = "your application id"
>>> dlist = jpd.DataReader("00200521", 'estat', appid=key)
>>> dlist.head()
統計表ID 政府統計名 作成機関名 提供統計名及び提供分類名 \
0 0000030001 国勢調査 総務省 昭和55年国勢調査 第1次基本集計 全国編
1 0000030002 国勢調査 総務省 昭和55年国勢調査 第1次基本集計 全国編
2 0000030003 国勢調査 総務省 昭和55年国勢調査 第1次基本集計 全国編
3 0000030004 国勢調査 総務省 昭和55年国勢調査 第1次基本集計 全国編
4 0000030005 国勢調査 総務省 昭和55年国勢調査 第1次基本集計 全国編
統計表題名及び表番号 提供周期 調査年月 公開日 \
0 男女の別(性別)(3),年齢5歳階級(23),人口 全国・市部・郡部・都道府県(47),全域... - 198010 2007-10-05
1 男女の別(性別)(3),年齢各歳階級(103),人口 全国・市部・郡部・都道府県(47),全... - 198010 2007-10-05
2 総人口・日本人(2),男女の別(性別)(2),年齢各歳階級(122),出生の月(5),人口 ... - 198010 2007-10-05
3 総人口・日本人(2),男女の別(性別)(2),年齢各歳階級(86),配偶関係(5),15歳以... - 198010 2007-10-05
4 男女の別(性別)(3),年齢5歳階級(19),国籍(5),外国人数 全国・市部・郡部・都道府... - 198010 2007-10-05
小地域属性フラグ 統計大分野名 統計小分野名 総件数 最終更新日
0 0 人口・世帯 人口 3651 2008-03-19
1 0 人口・世帯 人口 16365 2008-03-19
2 0 人口・世帯 人口 123782 2008-03-19
3 0 人口・世帯 人口 85848 2008-03-19
4 0 人口・世帯 人口 13082 2008-03-19
結果から取得したい統計表IDを確認し、実データを取得します。複数のデータをまとめて取得したい場合は そのリストを渡します。
>>> df = jpd.DataReader("0000030001", 'estat', appid=key)
>>> df.head()
value 全国都道府県030001 全域・集中の別030002 年齢5歳階級A030002 男女A030001
時間軸(年次)
1980-01-01 117060396 全国 全域 総数 男女総数
1980-01-01 89187409 全国市部 全域 総数 男女総数
1980-01-01 27872987 全国郡部 全域 総数 男女総数
1980-01-01 5575989 北海道 全域 総数 男女総数
1980-01-01 1523907 青森県 全域 総数 男女総数
>>> df = jpd.DataReader(["0000030001", "0000030002"], 'estat', appid=key)
>>> df.head()
value 全国都道府県030001 全域・集中の別030002 年齢各歳階級B030003 年齢5歳階級A030002 \
時間軸(年次)
1980-01-01 117060396 全国 全域 NaN 総数
1980-01-01 89187409 全国市部 全域 NaN 総数
1980-01-01 27872987 全国郡部 全域 NaN 総数
1980-01-01 5575989 北海道 全域 NaN 総数
1980-01-01 1523907 青森県 全域 NaN 総数
男女A030001
時間軸(年次)
1980-01-01 男女総数
1980-01-01 男女総数
1980-01-01 男女総数
1980-01-01 男女総数
1980-01-01 男女総数
e-Statでは、一度のリクエストで10万件のレコードまで取得できます。
取得するレコード数は limit
キーワードで変更できます。
>>> df = jpd.DataReader("0003280394", 'estat', appid=key, limit=100)
取得するレコードの開始位置は startPosition
キーワードで変更できます。
10万件目以降のレコードを取得する際にはこのキーワードを利用してください。
>>> df = jpd.DataReader("0003280394", 'estat', appid=key, startPosition=100001)
オプションの詳細は e-Stat API 仕様 を参照してください。