No.002 Pythonで政府統計 e-stat の人口推計値を読みこむ

1.今回の目的

政府統計データ(estat)から取得できるexcel dataから直接pythonのDataframeに格納します。

2. Reference

  1. https://www.yutaka-note.com/entry/pandas_read_excel_1

read_excel()の使い方を参考にしました。

2.http://ailaby.com/estat_pop/

政府人口統計のData概要と読み込み方法を参考にしました。

3.https://qiita.com/maskot1977/items/b0df0f43995ff34cb952

urllibによるexcel fileの読み込みを参考にしました。

4.https://www.e-stat.go.jp/stat-search/files?page=1&layout=datalist&toukei=00200524&tstat=000000090001&cycle=7&year=20210&month=0&tclass1=000001011679&result_back=1&tclass2val=0

人口推計 各年10月1日現在人口 年次 2021年 | ファイル | 統計データを探す | 政府統計の総合窓口 (e-stat.go.jp)
ここから2021年10月時点の人口データーを読み込みました。

3. Python (Jupyter Notebookを使用)でのコード

pandasとurllibを読み込みます。

import pandas as pd
import urllib.request 

estat人口データのurlを指定、excel file名を指定してrequestします。

url = "https://www.e-stat.go.jp/stat-search/file-download?statInfId=000032191045&fileKind=0"
urllib.request.urlretrieve(url, 'a00400_2.xlsx')

read_excelでfileを読み込みます。skipros, skipfooter, uselcosを使い必要な箇所だけ読み込み指定しました。

df = pd.read_excel('a00400_2.xlsx',header=None, skiprows=10, skipfooter=1, usecols="K,L")

最初の5行確認-うまく読み込めました。

df.head()

都道府県をインデックスにし、列名を変更しました。

df.set_index(10, inplace=True)
df.index.names = [u'都道府県']
df.columns = [u'総人口_男女計_千人']
df

以上です。これでurl、download fileをもとに都道府県別人口データを直接Dataframeに格納することができました。


この記事が気に入ったらサポートをしてみませんか?