リモートデータアクセス

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 仕様 を参照してください。