サンプルデータ

総務省のデータ

総務省のデータをつかってpandasを動かしてみましょう。

当ホームページ(総務省)で公開している情報(以下「コンテンツ」といいます。)は、どなたでも以下の1)~7)に従って、複製、公衆送信、翻訳・変形等の翻案等、自由に利用できます。商用利用も可能です。また、数値データ、簡単な表・グラフ等は著作権の対象ではありませんので、これらについては本利用ルールの適用はなく、自由に利用できます。コンテンツ利用に当たっては、本利用ルールに同意したものとみなします。 引用元:当省ホームページについて

import pandas as pd
import os
from urllib.parse import urlparse
from IPython.display import display, HTML


def getfn(url: str) -> str:
    """urlからファイル名を取得する"""
    return os.path.basename(urlparse(url).path)


def disp(df: pd.DataFrame, text: str):
    """notebook上にデータとテキストを表示する"""
    display(HTML(f"<h3>{text}</h3>"))
    display(df.head(6))
    display(HTML(f"<hr />"))

国内総生産の増加率に対する寄与度

出典:令和3年版地方財政白書(https://www.soumu.go.jp/menu_seisaku/hakusyo/chihou/r03data/2021data/r03czb01-01.html#p010102)

df = pd.read_csv("z-006-pre.csv")
disp(df, "加工前")
df.columns = df.iloc[1]
df = df.drop([0, 1]).replace("-", 0)
df.to_csv("z-006.csv", encoding="utf-8-sig")
disp(df, "加工後")

加工前

第6図 国内総生産(支出側、名目)の増加率に対する寄与度Unnamed: 1Unnamed: 2Unnamed: 3Unnamed: 4Unnamed: 5Unnamed: 6Unnamed: 7Unnamed: 8Unnamed: 9Unnamed: 10Unnamed: 11
0(単位 %)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1NaN平成21年度平成22年度平成23年度平成24年度平成25年度平成26年度平成27年度平成28年度平成29年度平成30年度令和元年度
2中央政府0.1△ 0.4-△ 0.10.4-△ 0.1---0.1
3地方政府0.10.1-△ 0.10.20.40.1-0.10.20.3
4社会保障基金0.30.30.30.20.20.20.3-0.20.10.2
5公的企業-△ 0.1-0.1--0.1----

加工後

1NaN平成21年度平成22年度平成23年度平成24年度平成25年度平成26年度平成27年度平成28年度平成29年度平成30年度令和元年度
2中央政府0.1△ 0.40△ 0.10.40△ 0.10000.1
3地方政府0.10.10△ 0.10.20.40.100.10.20.3
4社会保障基金0.30.30.30.20.20.20.300.20.10.2
5公的企業0△ 0.100.1000.10000
6企業部門△ 3.51.30.700.60.91.0△ 0.10.90.40
7家計部門△ 1.80.20.20.62.3△ 0.40.4△ 0.20.80.3△ 0.1

国・地方を通じた純計歳出規模

出典:令和3年版地方財政白書 (https://www.soumu.go.jp/menu_seisaku/hakusyo/chihou/r03data/2021data/r03czb01-01.html#p010102)

df = pd.read_csv("z-002-pre.csv")
df.to_csv("z-002-pre.csv", index=None)
disp(df, "加工前")
df = df.drop([0, 1, 2])
df.to_csv("z-002.csv", encoding="utf-8-sig")
disp(df, "加工後")

加工前

第2図 国・地方を通じた純計歳出規模(目的別)Unnamed: 1Unnamed: 2Unnamed: 3Unnamed: 4Unnamed: 5
0NaNNaNNaNNaNNaN(単位 %)
1NaNNaN地方の割合57.4国の割合42.6
2NaNNaNNaNNaNNaNNaN
3衛生費3.8保健所・ごみ処理等98NaN2
4学校教育費8.9小・中学校、幼稚園等87NaN13
5司法警察消防費4.1NaN77NaN23

加工後

第2図 国・地方を通じた純計歳出規模(目的別)Unnamed: 1Unnamed: 2Unnamed: 3Unnamed: 4Unnamed: 5
3衛生費3.8保健所・ごみ処理等98NaN2
4学校教育費8.9小・中学校、幼稚園等87NaN13
5司法警察消防費4.1NaN77NaN23
6社会教育費等3.0公民館、図書館、博物館等81NaN19
7民生費(年金関係を除く。)22.2児童福祉、介護などの老人福祉、生活保護等70NaN30
8国土開発費8.4都市計画、道路、橋りょう、公営住宅等72NaN28

国・地方を通じた目的別歳出構成比の推移

出典:令和3年版地方財政白書(https://www.soumu.go.jp/menu_seisaku/hakusyo/chihou/r03data/2021data/r03czb01-01.html#p010102)

df = pd.read_csv("z-001-pre.csv")
disp(df, "加工前")
df.columns = df.iloc[1]
df = df.drop([0, 1, 8])
df.to_csv("z-001.csv", encoding="utf-8-sig")
disp(df, "加工後")

加工前

第1図 国・地方を通じた目的別歳出額構成比の推移Unnamed: 1Unnamed: 2Unnamed: 3Unnamed: 4Unnamed: 5Unnamed: 6Unnamed: 7Unnamed: 8Unnamed: 9Unnamed: 10Unnamed: 11
0(単位 %)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1NaN平成21年度平成22年度平成23年度平成24年度平成25年度平成26年度平成27年度平成28年度平成29年度平成30年度令和元年度
2社会保障関係費29.831.232.732.731.832.833.734.434.634.434.7
3公債費18.920.319.820.920.921.421.320.620.920.620.0
4機関費11.912.511.710.611.811.711.811.411.511.911.8
5教育費11.711.911.712.111.611.711.711.711.811.811.9

加工後

1NaN平成21年度平成22年度平成23年度平成24年度平成25年度平成26年度平成27年度平成28年度平成29年度平成30年度令和元年度
2社会保障関係費29.831.232.732.731.832.833.734.434.634.434.7
3公債費18.920.319.820.920.921.421.320.620.920.620.0
4機関費11.912.511.710.611.811.711.811.411.511.911.8
5教育費11.711.911.712.111.611.711.711.711.811.811.9
6国土保全及び開発費12.011.310.610.210.910.59.910.410.510.510.8
7産業経済費9.98.29.48.27.16.86.96.76.36.26.4