LoginSignup
9
8

More than 1 year has passed since last update.

政府統計e-Stat APIを使ってデータ分析しましょう

Last updated at Posted at 2021-12-24

はじめに

自分は人事給与ERP製品を開発する会社で、統計帳票の開発を担当しまいます。
統計帳票というのは、毎月勤労統計表や賃金台帳、公務員調査表など、全国調査にあってはその全国的変動を毎月、毎年明らかにすることを、地方調査にあってはその都道府県別の変動を毎月、毎年明らかにすることを目的とした調査です。
日々大量なデータを見る私は、これらのデータを分析することで、社員の退職や昇給などの原因がわかるではないかを気づきました。

ビッグデータ活用が近年話題になり、国や民間企業等が提供している主要な統計データを分析し、提供しているWebサービスもあります。
https://dashboard.e-stat.go.jp/
ただ、分析した内容と画像がややシンプルであり、データをもっと深堀りできるではないかを考えています。
もし、これらのデータを手には入れたら。。。と思いつつ、e-State APIがあることに気づきました。

e-State APIというのは、政府統計の総合窓口(e-Stat)で提供している統計データを機械判読可能な形式で取得できるAPI機能です。今回e-StateのAPIを使って簡単なデータ分析をやってみます。
https://www.e-stat.go.jp/api/

e-stateのAPIの使い方

基本以下の流れです。
アプリケーションID取得→統計対象データの選択とAPIクエリー取得

アプリケーションID取得

API経由でデータを取得する際に、アプリケーションIDというパラメータを指定しないとデータが取得できません。ですのでユーザー登録して、マイページで発行ボタンをクリックすると、アプリケーションIDを取得します。
https://www.e-stat.go.jp/mypage/user/preregister

アプリケーションIDは以下のようなハッシュコードです。
"appId" : "6tt320sfjagagiadkghijgjngdkgoda"

統計対象データの選択とAPIクエリー取得

指定した統計表ID又はデータセットIDに対応する統計データ(数値データ)を取得します。
e-State APIから提供できるデータは以下のようになります。国勢調査や人口推計、家計調査などいろいろあります!
https://www.e-stat.go.jp/stat-search/database?page=1&layout=normal
統計できるデータ.png
統計したい調査を開いて、APIボタンをクリックします。
api.png
APIボタンをクリックすると、データ取得の時に使われるAPIリクエストのURLが表示されます。
クエリーは三つの形式があり、今回JSON形式でデータを取得します。
url.png

JSONを解析

Pythonのrequests.get(url, params)でデータを取得します。
urlはAPIクエリーの一番左側から?までのurlです。
paramsに、ユーザー登録時にもらったアプリケーションIDとAPIクエリーに書いたstatsDataIdを記入します。
statsDataIdは統計表IDです、異なる統計表のIDは違います。
dataget.png
今回JSON形式のクエリーをもらいましたので、json.loads()でデータを取得します。
簡単ですね!!

numpyでデータを分析する

今回の毎月勤労統計表のデータは8個統計項目がありますので、それぞれ取得して2年度の平均値をnumpyで計算します。
numpy.png

matplotlibで可視化する

lib1.png
lib2.png

img0.png
img1.png

最後に

ふたんデータ分析をしたく、データがない場合、e-State APIを活用すれば、いろいろなデータ分析ができ、楽しいですね。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8