SQLで操作
使用しているデータセットについては『総務省のデータ』の項を参照してください。
Pandasを使用すればデータベースをSQLで操作することもできます。
以下の例では、読み込んだcsvをSQLデータベースに変換し、それに対して SELECT文を実行します。
データを読み込む
import pandas as pd
df = pd.read_csv("./z-001.csv")
df.columns = df.columns.str.replace(" ", "") # カラム名に含まれるスペースは消す
df.head()
| Unnamed:0 | Unnamed:1 | 平成21年度 | 平成22年度 | 平成23年度 | 平成24年度 | 平成25年度 | 平成26年度 | 平成27年度 | 平成28年度 | 平成29年度 | 平成30年度 | 令和元年度 |
---|
0 | 2 | 社会保障関係費 | 29.8 | 31.2 | 32.7 | 32.7 | 31.8 | 32.8 | 33.7 | 34.4 | 34.6 | 34.4 | 34.7 |
---|
1 | 3 | 公債費 | 18.9 | 20.3 | 19.8 | 20.9 | 20.9 | 21.4 | 21.3 | 20.6 | 20.9 | 20.6 | 20.0 |
---|
2 | 4 | 機関費 | 11.9 | 12.5 | 11.7 | 10.6 | 11.8 | 11.7 | 11.8 | 11.4 | 11.5 | 11.9 | 11.8 |
---|
3 | 5 | 教育費 | 11.7 | 11.9 | 11.7 | 12.1 | 11.6 | 11.7 | 11.7 | 11.7 | 11.8 | 11.8 | 11.9 |
---|
4 | 6 | 国土保全及び開発費 | 12.0 | 11.3 | 10.6 | 10.2 | 10.9 | 10.5 | 9.9 | 10.4 | 10.5 | 10.5 | 10.8 |
---|
SQLで操作できる形式にする
from sqlite3 import connect
conn = connect(":memory:")
df.to_sql("Table1", conn)
SQLを実行する
pd.read_sql("SELECT 平成21年度 FROM Table1", conn)
| 平成21年度 |
---|
0 | 29.8 |
---|
1 | 18.9 |
---|
2 | 11.9 |
---|
3 | 11.7 |
---|
4 | 12.0 |
---|
5 | 9.9 |
---|