{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### e-Stat 【政府統計の総合窓口】データの利活用\n",
"https://www.e-stat.go.jp/ のデータを用いたheatmapによる可視化 \n",
"ネット上の情報取得から、データ処理・解析、可視化までをnotebbok上でワンストップで行う"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import japanize_matplotlib\n",
"\n",
"%matplotlib inline\n",
"%config InlineBackend.figure_format = 'retina'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 以下、ファイル読み込みと整形"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 時点 | \n",
" 地域コード | \n",
" 地域 | \n",
" ガソリン販売量【kL】 | \n",
" 注記 | \n",
"
\n",
" \n",
" \n",
" \n",
" 1675 | \n",
" 2015年度 | \n",
" 47000 | \n",
" 沖縄県 | \n",
" 593628 | \n",
" NaN | \n",
"
\n",
" \n",
" 1676 | \n",
" 2016年度 | \n",
" 47000 | \n",
" 沖縄県 | \n",
" 700569 | \n",
" NaN | \n",
"
\n",
" \n",
" 1677 | \n",
" 2017年度 | \n",
" 47000 | \n",
" 沖縄県 | \n",
" 691725 | \n",
" NaN | \n",
"
\n",
" \n",
" 1678 | \n",
" 2018年度 | \n",
" 47000 | \n",
" 沖縄県 | \n",
" 699740 | \n",
" NaN | \n",
"
\n",
" \n",
" 1679 | \n",
" 2019年度 | \n",
" 47000 | \n",
" 沖縄県 | \n",
" 691509 | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 時点 地域コード 地域 ガソリン販売量【kL】 注記\n",
"1675 2015年度 47000 沖縄県 593628 NaN\n",
"1676 2016年度 47000 沖縄県 700569 NaN\n",
"1677 2017年度 47000 沖縄県 691725 NaN\n",
"1678 2018年度 47000 沖縄県 699740 NaN\n",
"1679 2019年度 47000 沖縄県 691509 NaN"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# ガソリン販売量の都道府県別時系列データ\n",
"df0 = pd.read_csv('TimeSeriesResult_20220526074338419.csv')\n",
"\n",
"# グラフ作成用のタイトルと規格化の際の基準年を取得\n",
"graphtitle = df0.columns[3]\n",
"ini_year = df0['時点'][0]\n",
"df0.tail()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 時点 | \n",
" 地域コード | \n",
" 地域 | \n",
" ガソリン販売量【kL】 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1985年度 | \n",
" 0 | \n",
" 全国 | \n",
" 38830050 | \n",
"
\n",
" \n",
" 1 | \n",
" 1986年度 | \n",
" 0 | \n",
" 全国 | \n",
" 39637821 | \n",
"
\n",
" \n",
" 2 | \n",
" 1987年度 | \n",
" 0 | \n",
" 全国 | \n",
" 40761056 | \n",
"
\n",
" \n",
" 3 | \n",
" 1988年度 | \n",
" 0 | \n",
" 全国 | \n",
" 42631380 | \n",
"
\n",
" \n",
" 4 | \n",
" 1989年度 | \n",
" 0 | \n",
" 全国 | \n",
" 43289512 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 時点 地域コード 地域 ガソリン販売量【kL】\n",
"0 1985年度 0 全国 38830050\n",
"1 1986年度 0 全国 39637821\n",
"2 1987年度 0 全国 40761056\n",
"3 1988年度 0 全国 42631380\n",
"4 1989年度 0 全国 43289512"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 注記列を削除\n",
"df0.drop(['注記'], axis=1, inplace=True)\n",
"df0.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 時点 | \n",
" 地域コード | \n",
" 地域 | \n",
" data | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1985年度 | \n",
" 0 | \n",
" 全国 | \n",
" 38830050 | \n",
"
\n",
" \n",
" 1 | \n",
" 1986年度 | \n",
" 0 | \n",
" 全国 | \n",
" 39637821 | \n",
"
\n",
" \n",
" 2 | \n",
" 1987年度 | \n",
" 0 | \n",
" 全国 | \n",
" 40761056 | \n",
"
\n",
" \n",
" 3 | \n",
" 1988年度 | \n",
" 0 | \n",
" 全国 | \n",
" 42631380 | \n",
"
\n",
" \n",
" 4 | \n",
" 1989年度 | \n",
" 0 | \n",
" 全国 | \n",
" 43289512 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 時点 地域コード 地域 data\n",
"0 1985年度 0 全国 38830050\n",
"1 1986年度 0 全国 39637821\n",
"2 1987年度 0 全国 40761056\n",
"3 1988年度 0 全国 42631380\n",
"4 1989年度 0 全国 43289512"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df0.rename(columns={df0.columns[-1]:'data'}, inplace=True)\n",
"df0.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['北海道', '青森県', '岩手県', '宮城県', '秋田県', '山形県', '福島県', '茨城県', '栃木県', '群馬県', '埼玉県', '千葉県', '東京都', '神奈川県', '新潟県', '富山県', '石川県', '福井県', '山梨県', '長野県', '岐阜県', '静岡県', '愛知県', '三重県', '滋賀県', '京都府', '大阪府', '兵庫県', '奈良県', '和歌山県', '鳥取県', '島根県', '岡山県', '広島県', '山口県', '徳島県', '香川県', '愛媛県', '高知県', '福岡県', '佐賀県', '長崎県', '熊本県', '大分県', '宮崎県', '鹿児島県', '沖縄県']\n"
]
}
],
"source": [
"# 都道府県リストの取得\n",
"prefs = df0['地域'].unique().tolist()[1:]\n",
"print(prefs)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 時点 | \n",
" 北海道 | \n",
"
\n",
" \n",
" \n",
" \n",
" 35 | \n",
" 1985年度 | \n",
" 1693383 | \n",
"
\n",
" \n",
" 36 | \n",
" 1986年度 | \n",
" 1669138 | \n",
"
\n",
" \n",
" 37 | \n",
" 1987年度 | \n",
" 1659235 | \n",
"
\n",
" \n",
" 38 | \n",
" 1988年度 | \n",
" 1694518 | \n",
"
\n",
" \n",
" 39 | \n",
" 1989年度 | \n",
" 1678936 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 時点 北海道\n",
"35 1985年度 1693383\n",
"36 1986年度 1669138\n",
"37 1987年度 1659235\n",
"38 1988年度 1694518\n",
"39 1989年度 1678936"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = df0.groupby('地域')\n",
"#a.get_group('北海道')\n",
"pref = prefs[0]\n",
"df = a.get_group(pref).rename(columns={'data': pref}).drop(['地域コード', '地域'], axis=1)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 時点 | \n",
" 北海道 | \n",
" 青森県 | \n",
" 岩手県 | \n",
" 宮城県 | \n",
" 秋田県 | \n",
" 山形県 | \n",
" 福島県 | \n",
" 茨城県 | \n",
" 栃木県 | \n",
" ... | \n",
" 愛媛県 | \n",
" 高知県 | \n",
" 福岡県 | \n",
" 佐賀県 | \n",
" 長崎県 | \n",
" 熊本県 | \n",
" 大分県 | \n",
" 宮崎県 | \n",
" 鹿児島県 | \n",
" 沖縄県 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1985年度 | \n",
" 1693383 | \n",
" 434891 | \n",
" 434575 | \n",
" 782702 | \n",
" 380122 | \n",
" 380921 | \n",
" 715219 | \n",
" 1054713 | \n",
" 757472 | \n",
" ... | \n",
" 430556 | \n",
" 270584 | \n",
" 1601523 | \n",
" 299694 | \n",
" 404515 | \n",
" 582845 | \n",
" 379698 | \n",
" 384990 | \n",
" 559341 | \n",
" 341592 | \n",
"
\n",
" \n",
" 1 | \n",
" 1986年度 | \n",
" 1669138 | \n",
" 431426 | \n",
" 422072 | \n",
" 809936 | \n",
" 382926 | \n",
" 371785 | \n",
" 712438 | \n",
" 1088797 | \n",
" 784129 | \n",
" ... | \n",
" 437271 | \n",
" 278936 | \n",
" 1659655 | \n",
" 316865 | \n",
" 407824 | \n",
" 589272 | \n",
" 379934 | \n",
" 389229 | \n",
" 574230 | \n",
" 356124 | \n",
"
\n",
" \n",
" 2 | \n",
" 1987年度 | \n",
" 1659235 | \n",
" 433148 | \n",
" 413245 | \n",
" 841658 | \n",
" 384960 | \n",
" 379744 | \n",
" 730761 | \n",
" 1135242 | \n",
" 813348 | \n",
" ... | \n",
" 459069 | \n",
" 284077 | \n",
" 1655597 | \n",
" 328561 | \n",
" 410784 | \n",
" 601072 | \n",
" 395998 | \n",
" 399095 | \n",
" 589528 | \n",
" 377631 | \n",
"
\n",
" \n",
" 3 | \n",
" 1988年度 | \n",
" 1694518 | \n",
" 440975 | \n",
" 422419 | \n",
" 884598 | \n",
" 392333 | \n",
" 389182 | \n",
" 764984 | \n",
" 1202633 | \n",
" 858000 | \n",
" ... | \n",
" 472233 | \n",
" 296640 | \n",
" 1766326 | \n",
" 344782 | \n",
" 427630 | \n",
" 622669 | \n",
" 410069 | \n",
" 411383 | \n",
" 621142 | \n",
" 396566 | \n",
"
\n",
" \n",
" 4 | \n",
" 1989年度 | \n",
" 1678936 | \n",
" 441769 | \n",
" 427618 | \n",
" 880260 | \n",
" 399686 | \n",
" 393028 | \n",
" 771637 | \n",
" 1227117 | \n",
" 871196 | \n",
" ... | \n",
" 475147 | \n",
" 299591 | \n",
" 1700010 | \n",
" 344533 | \n",
" 443632 | \n",
" 627062 | \n",
" 417853 | \n",
" 427102 | \n",
" 618488 | \n",
" 413114 | \n",
"
\n",
" \n",
"
\n",
"
5 rows × 48 columns
\n",
"
"
],
"text/plain": [
" 時点 北海道 青森県 岩手県 宮城県 秋田県 山形県 福島県 茨城県 \\\n",
"0 1985年度 1693383 434891 434575 782702 380122 380921 715219 1054713 \n",
"1 1986年度 1669138 431426 422072 809936 382926 371785 712438 1088797 \n",
"2 1987年度 1659235 433148 413245 841658 384960 379744 730761 1135242 \n",
"3 1988年度 1694518 440975 422419 884598 392333 389182 764984 1202633 \n",
"4 1989年度 1678936 441769 427618 880260 399686 393028 771637 1227117 \n",
"\n",
" 栃木県 ... 愛媛県 高知県 福岡県 佐賀県 長崎県 熊本県 大分県 \\\n",
"0 757472 ... 430556 270584 1601523 299694 404515 582845 379698 \n",
"1 784129 ... 437271 278936 1659655 316865 407824 589272 379934 \n",
"2 813348 ... 459069 284077 1655597 328561 410784 601072 395998 \n",
"3 858000 ... 472233 296640 1766326 344782 427630 622669 410069 \n",
"4 871196 ... 475147 299591 1700010 344533 443632 627062 417853 \n",
"\n",
" 宮崎県 鹿児島県 沖縄県 \n",
"0 384990 559341 341592 \n",
"1 389229 574230 356124 \n",
"2 399095 589528 377631 \n",
"3 411383 621142 396566 \n",
"4 427102 618488 413114 \n",
"\n",
"[5 rows x 48 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for pref in prefs[1:]:\n",
" df_tmp = a.get_group(pref).rename(columns={'data': pref}).drop(['地域コード', '地域'], axis=1)\n",
" df = pd.merge(df, df_tmp, on='時点', how='left')\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 北海道 | \n",
" 青森県 | \n",
" 岩手県 | \n",
" 宮城県 | \n",
" 秋田県 | \n",
" 山形県 | \n",
" 福島県 | \n",
" 茨城県 | \n",
" 栃木県 | \n",
" 群馬県 | \n",
" ... | \n",
" 愛媛県 | \n",
" 高知県 | \n",
" 福岡県 | \n",
" 佐賀県 | \n",
" 長崎県 | \n",
" 熊本県 | \n",
" 大分県 | \n",
" 宮崎県 | \n",
" 鹿児島県 | \n",
" 沖縄県 | \n",
"
\n",
" \n",
" 年 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1985 | \n",
" 1693383 | \n",
" 434891 | \n",
" 434575 | \n",
" 782702 | \n",
" 380122 | \n",
" 380921 | \n",
" 715219 | \n",
" 1054713 | \n",
" 757472 | \n",
" 782923 | \n",
" ... | \n",
" 430556 | \n",
" 270584 | \n",
" 1601523 | \n",
" 299694 | \n",
" 404515 | \n",
" 582845 | \n",
" 379698 | \n",
" 384990 | \n",
" 559341 | \n",
" 341592 | \n",
"
\n",
" \n",
" 1986 | \n",
" 1669138 | \n",
" 431426 | \n",
" 422072 | \n",
" 809936 | \n",
" 382926 | \n",
" 371785 | \n",
" 712438 | \n",
" 1088797 | \n",
" 784129 | \n",
" 798005 | \n",
" ... | \n",
" 437271 | \n",
" 278936 | \n",
" 1659655 | \n",
" 316865 | \n",
" 407824 | \n",
" 589272 | \n",
" 379934 | \n",
" 389229 | \n",
" 574230 | \n",
" 356124 | \n",
"
\n",
" \n",
" 1987 | \n",
" 1659235 | \n",
" 433148 | \n",
" 413245 | \n",
" 841658 | \n",
" 384960 | \n",
" 379744 | \n",
" 730761 | \n",
" 1135242 | \n",
" 813348 | \n",
" 818464 | \n",
" ... | \n",
" 459069 | \n",
" 284077 | \n",
" 1655597 | \n",
" 328561 | \n",
" 410784 | \n",
" 601072 | \n",
" 395998 | \n",
" 399095 | \n",
" 589528 | \n",
" 377631 | \n",
"
\n",
" \n",
" 1988 | \n",
" 1694518 | \n",
" 440975 | \n",
" 422419 | \n",
" 884598 | \n",
" 392333 | \n",
" 389182 | \n",
" 764984 | \n",
" 1202633 | \n",
" 858000 | \n",
" 850408 | \n",
" ... | \n",
" 472233 | \n",
" 296640 | \n",
" 1766326 | \n",
" 344782 | \n",
" 427630 | \n",
" 622669 | \n",
" 410069 | \n",
" 411383 | \n",
" 621142 | \n",
" 396566 | \n",
"
\n",
" \n",
" 1989 | \n",
" 1678936 | \n",
" 441769 | \n",
" 427618 | \n",
" 880260 | \n",
" 399686 | \n",
" 393028 | \n",
" 771637 | \n",
" 1227117 | \n",
" 871196 | \n",
" 871392 | \n",
" ... | \n",
" 475147 | \n",
" 299591 | \n",
" 1700010 | \n",
" 344533 | \n",
" 443632 | \n",
" 627062 | \n",
" 417853 | \n",
" 427102 | \n",
" 618488 | \n",
" 413114 | \n",
"
\n",
" \n",
"
\n",
"
5 rows × 47 columns
\n",
"
"
],
"text/plain": [
" 北海道 青森県 岩手県 宮城県 秋田県 山形県 福島県 茨城県 \\\n",
"年 \n",
"1985 1693383 434891 434575 782702 380122 380921 715219 1054713 \n",
"1986 1669138 431426 422072 809936 382926 371785 712438 1088797 \n",
"1987 1659235 433148 413245 841658 384960 379744 730761 1135242 \n",
"1988 1694518 440975 422419 884598 392333 389182 764984 1202633 \n",
"1989 1678936 441769 427618 880260 399686 393028 771637 1227117 \n",
"\n",
" 栃木県 群馬県 ... 愛媛県 高知県 福岡県 佐賀県 長崎県 熊本県 \\\n",
"年 ... \n",
"1985 757472 782923 ... 430556 270584 1601523 299694 404515 582845 \n",
"1986 784129 798005 ... 437271 278936 1659655 316865 407824 589272 \n",
"1987 813348 818464 ... 459069 284077 1655597 328561 410784 601072 \n",
"1988 858000 850408 ... 472233 296640 1766326 344782 427630 622669 \n",
"1989 871196 871392 ... 475147 299591 1700010 344533 443632 627062 \n",
"\n",
" 大分県 宮崎県 鹿児島県 沖縄県 \n",
"年 \n",
"1985 379698 384990 559341 341592 \n",
"1986 379934 389229 574230 356124 \n",
"1987 395998 399095 589528 377631 \n",
"1988 410069 411383 621142 396566 \n",
"1989 417853 427102 618488 413114 \n",
"\n",
"[5 rows x 47 columns]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 列名を時点から年に変更\n",
"df.rename(columns={'時点': '年'},inplace=True)\n",
"\n",
"# 年度を削除(ex. 2000年度 → 2000)\n",
"df['年'] = df['年'].apply(lambda x: x.replace('年度', ''))\n",
"df.set_index('年', inplace=True)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 作成した dataframe のExcelへの保存\n",
"解析結果をExcelで出力してやり取りする場合などに利用"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# 整形データのExcel形式での保存\n",
"df.to_excel(r\"D:\\users\\desktop\\gasoline_pref.xlsx\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}