Skip to content

Instantly share code, notes, and snippets.

@yuji96
Created June 2, 2021 08:28
Show Gist options
  • Save yuji96/9f358ad48f8e7d477f1baa6eb3b9542e to your computer and use it in GitHub Desktop.
Save yuji96/9f358ad48f8e7d477f1baa6eb3b9542e to your computer and use it in GitHub Desktop.
インフルエンザ感染者数の csv ファイルを、厚労省報道発表資料(週ごとの pdf ファイル)作成
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# インフルエンザ感染者数の csv ファイルを、週ごとの pdf 内の表から作成\n",
"\n",
"元データ: https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/kenkou_iryou/kenkou/kekkaku-kansenshou01/houdou_00004.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## モジュールをインポート"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"import datetime as dt\n",
"import pathlib\n",
"import re\n",
"\n",
"from IPython.display import display\n",
"import pandas as pd\n",
"import PyPDF2\n",
"from tabula import read_pdf\n",
"from tqdm import tqdm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## pdf から表を抽出する関数を定義"
]
},
{
"cell_type": "code",
"execution_count": 169,
"metadata": {},
"outputs": [],
"source": [
"def get_table(path, page):\n",
" out = read_pdf(path, pages=[page], multiple_tables=False, silent=True,\n",
" pandas_options=dict(header=1))\n",
" if not out:\n",
" raise ValueError(f\"{page} ページ目には表がありません.{path} を確認してください.\")\n",
" if \"報告数\" not in (df := out[0]).columns:\n",
" raise ValueError(f\"{page} ページで想定外の表が見つかりました.{path} を確認してください.\")\n",
" \n",
" df_rename = df.rename(columns={'Unnamed: 0': '都道府県'})\n",
" df_clean = df_rename.drop('定点当たり', axis=\"columns\")\n",
" return df_clean"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## pdf のメタデータから統計日を取得(偶然)\n",
"\n",
"- メタデータに `{\"/Title\": \"1★プレスn週HP表紙\"}` という項目があったので, これを使って 2018/1/1 + 7*n として統計週を求めている.\n",
"`\"/CreationDate\"` は統計週より若干遅れている. これは他の年では通用しないやり方.\n",
"- アップロードされ直されたりしているため, ファイル名ではなくファイルの作成日で並び替えなおしている."
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"PdfReadWarning: Xref table not zero-indexed. ID numbers for objects will be corrected. [pdf.py:1736]\n"
]
},
{
"data": {
"text/plain": [
"[['pdf/000368224.pdf', datetime.datetime(2018, 9, 3, 0, 0)],\n",
" ['pdf/000358530.pdf', datetime.datetime(2018, 9, 10, 0, 0)],\n",
" ['pdf/000368225.pdf', datetime.datetime(2018, 9, 17, 0, 0)],\n",
" ['pdf/000362661.pdf', datetime.datetime(2018, 9, 24, 0, 0)],\n",
" ['pdf/000368228.pdf', datetime.datetime(2018, 10, 1, 0, 0)]]"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def calc_date(info):\n",
" title = info[\"/Title\"]\n",
" week_n = int(re.search(r\"1★プレス([0-9]{1,2})週HP表紙\", title).group(1))\n",
" date = dt.datetime(2018, 1, 1) if week_n >= 36 else dt.datetime(2019, 1, 1)\n",
" return date + dt.timedelta(weeks=week_n - 1)\n",
"\n",
"\n",
"path_and_info = []\n",
"for p in map(str, pathlib.Path('pdf').iterdir()):\n",
" if \"000368228\" in p:\n",
" info = PyPDF2.PdfFileReader(p).documentInfo.copy()\n",
" info[\"/Title\"] = \"1★プレス40週HP表紙\"\n",
" path_and_info.append([p, info])\n",
" else:\n",
" path_and_info.append([p, PyPDF2.PdfFileReader(p).documentInfo])\n",
"path_and_info = sorted(path_and_info, key=lambda pair: pair[-1][\"/CreationDate\"])\n",
"path_and_date = [[path, calc_date(info)] for path, info in path_and_info]\n",
"path_and_date[:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## pdf から表の抽出を実行\n",
"週によって目的の表が2ページ目にあったり4ページ目にあったりする"
]
},
{
"cell_type": "code",
"execution_count": 170,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 30%|██▉ | 11/37 [00:13<00:33, 1.30s/it]The output file is empty.\n",
"100%|██████████| 37/37 [00:58<00:00, 1.57s/it]\n"
]
}
],
"source": [
"dfs = []\n",
"index = []\n",
"page = 2\n",
"for path, date in tqdm(path_and_date):\n",
" if \"000454254\" in str(path):\n",
" df = get_table(path, page=5)\n",
" else:\n",
" try:\n",
" df = get_table(path, page)\n",
" except ValueError:\n",
" page = 4\n",
" df = get_table(path, page)\n",
" dfs.append(df)\n",
" index.append(date)"
]
},
{
"cell_type": "code",
"execution_count": 171,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"( 都道府県 報告数\n",
" 0 総 数 338\n",
" 1 北海道 -\n",
" 2 青森県 -\n",
" 3 岩手県 -\n",
" 4 宮城県 1,\n",
" datetime.datetime(2018, 9, 3, 0, 0))"
]
},
"execution_count": 171,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfs[0].head(), index[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 整形\n",
"- `1,000` のような桁区切りは、解除してから数値化"
]
},
{
"cell_type": "code",
"execution_count": 190,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"df_reindex = [df.set_axis(df[\"都道府県\"].str.replace(\" \", \"\"), axis='index').drop(columns=[\"都道府県\"]) for df in dfs]\n",
"df_concat = pd.concat(df_reindex, axis=1).T.set_axis(index, axis='index').drop(columns=[\"昨年同期(総数)\", \"総数\"])\n",
"df_clean = df_clean.apply(lambda series: pd.to_numeric(series.str.replace(\",\", \"\"), errors='coerce')).fillna(0).astype(int)\n",
"df_clean[\"総数\"] = df_clean.sum(axis=\"columns\")"
]
},
{
"cell_type": "code",
"execution_count": 191,
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>都道府県</th>\n",
" <th>北海道</th>\n",
" <th>青森県</th>\n",
" <th>岩手県</th>\n",
" <th>宮城県</th>\n",
" <th>秋田県</th>\n",
" <th>山形県</th>\n",
" <th>福島県</th>\n",
" <th>茨城県</th>\n",
" <th>栃木県</th>\n",
" <th>群馬県</th>\n",
" <th>...</th>\n",
" <th>高知県</th>\n",
" <th>福岡県</th>\n",
" <th>佐賀県</th>\n",
" <th>長崎県</th>\n",
" <th>熊本県</th>\n",
" <th>大分県</th>\n",
" <th>宮崎県</th>\n",
" <th>鹿児島県</th>\n",
" <th>沖縄県</th>\n",
" <th>総数</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-03</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>11</td>\n",
" <td>10</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>22</td>\n",
" <td>20</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>19</td>\n",
" <td>0</td>\n",
" <td>11</td>\n",
" <td>39</td>\n",
" <td>338</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-10</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>10</td>\n",
" <td>11</td>\n",
" <td>20</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>19</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>77</td>\n",
" <td>655</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-17</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>22</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>19</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>14</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>11</td>\n",
" <td>147</td>\n",
" <td>668</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-24</th>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>18</td>\n",
" <td>14</td>\n",
" <td>8</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>32</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>28</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>23</td>\n",
" <td>214</td>\n",
" <td>795</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-10-01</th>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>23</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>9</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>22</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>18</td>\n",
" <td>11</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" <td>162</td>\n",
" <td>848</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-10-08</th>\n",
" <td>17</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>29</td>\n",
" <td>0</td>\n",
" <td>11</td>\n",
" <td>6</td>\n",
" <td>11</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>31</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>28</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>79</td>\n",
" <td>617</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-10-15</th>\n",
" <td>81</td>\n",
" <td>16</td>\n",
" <td>6</td>\n",
" <td>11</td>\n",
" <td>0</td>\n",
" <td>26</td>\n",
" <td>4</td>\n",
" <td>14</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>38</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>8</td>\n",
" <td>128</td>\n",
" <td>955</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-10-22</th>\n",
" <td>96</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>0</td>\n",
" <td>12</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>51</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>36</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>122</td>\n",
" <td>959</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-10-29</th>\n",
" <td>42</td>\n",
" <td>9</td>\n",
" <td>2</td>\n",
" <td>13</td>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" <td>8</td>\n",
" <td>23</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>60</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>36</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>33</td>\n",
" <td>72</td>\n",
" <td>1029</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-05</th>\n",
" <td>37</td>\n",
" <td>35</td>\n",
" <td>13</td>\n",
" <td>51</td>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" <td>9</td>\n",
" <td>55</td>\n",
" <td>17</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>95</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>37</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>35</td>\n",
" <td>79</td>\n",
" <td>1705</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-12</th>\n",
" <td>80</td>\n",
" <td>30</td>\n",
" <td>9</td>\n",
" <td>51</td>\n",
" <td>0</td>\n",
" <td>13</td>\n",
" <td>5</td>\n",
" <td>46</td>\n",
" <td>14</td>\n",
" <td>4</td>\n",
" <td>...</td>\n",
" <td>2</td>\n",
" <td>97</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>38</td>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>57</td>\n",
" <td>61</td>\n",
" <td>1885</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-19</th>\n",
" <td>141</td>\n",
" <td>77</td>\n",
" <td>18</td>\n",
" <td>36</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>16</td>\n",
" <td>80</td>\n",
" <td>9</td>\n",
" <td>9</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>147</td>\n",
" <td>8</td>\n",
" <td>46</td>\n",
" <td>37</td>\n",
" <td>5</td>\n",
" <td>15</td>\n",
" <td>109</td>\n",
" <td>60</td>\n",
" <td>2572</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-26</th>\n",
" <td>269</td>\n",
" <td>111</td>\n",
" <td>14</td>\n",
" <td>19</td>\n",
" <td>22</td>\n",
" <td>4</td>\n",
" <td>45</td>\n",
" <td>100</td>\n",
" <td>14</td>\n",
" <td>63</td>\n",
" <td>...</td>\n",
" <td>10</td>\n",
" <td>218</td>\n",
" <td>30</td>\n",
" <td>41</td>\n",
" <td>69</td>\n",
" <td>34</td>\n",
" <td>18</td>\n",
" <td>153</td>\n",
" <td>92</td>\n",
" <td>4599</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-12-03</th>\n",
" <td>882</td>\n",
" <td>108</td>\n",
" <td>27</td>\n",
" <td>62</td>\n",
" <td>61</td>\n",
" <td>33</td>\n",
" <td>59</td>\n",
" <td>145</td>\n",
" <td>26</td>\n",
" <td>81</td>\n",
" <td>...</td>\n",
" <td>34</td>\n",
" <td>418</td>\n",
" <td>29</td>\n",
" <td>85</td>\n",
" <td>161</td>\n",
" <td>107</td>\n",
" <td>32</td>\n",
" <td>254</td>\n",
" <td>75</td>\n",
" <td>8438</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-12-10</th>\n",
" <td>2138</td>\n",
" <td>112</td>\n",
" <td>93</td>\n",
" <td>97</td>\n",
" <td>114</td>\n",
" <td>158</td>\n",
" <td>77</td>\n",
" <td>263</td>\n",
" <td>58</td>\n",
" <td>227</td>\n",
" <td>...</td>\n",
" <td>55</td>\n",
" <td>803</td>\n",
" <td>45</td>\n",
" <td>154</td>\n",
" <td>310</td>\n",
" <td>264</td>\n",
" <td>68</td>\n",
" <td>392</td>\n",
" <td>174</td>\n",
" <td>16589</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-12-17</th>\n",
" <td>5059</td>\n",
" <td>132</td>\n",
" <td>171</td>\n",
" <td>278</td>\n",
" <td>202</td>\n",
" <td>253</td>\n",
" <td>169</td>\n",
" <td>675</td>\n",
" <td>177</td>\n",
" <td>462</td>\n",
" <td>...</td>\n",
" <td>236</td>\n",
" <td>1809</td>\n",
" <td>164</td>\n",
" <td>538</td>\n",
" <td>888</td>\n",
" <td>421</td>\n",
" <td>242</td>\n",
" <td>1025</td>\n",
" <td>373</td>\n",
" <td>39589</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-12-24</th>\n",
" <td>7152</td>\n",
" <td>220</td>\n",
" <td>310</td>\n",
" <td>327</td>\n",
" <td>415</td>\n",
" <td>273</td>\n",
" <td>365</td>\n",
" <td>1019</td>\n",
" <td>432</td>\n",
" <td>661</td>\n",
" <td>...</td>\n",
" <td>539</td>\n",
" <td>2691</td>\n",
" <td>311</td>\n",
" <td>733</td>\n",
" <td>1162</td>\n",
" <td>563</td>\n",
" <td>345</td>\n",
" <td>904</td>\n",
" <td>556</td>\n",
" <td>54517</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-01</th>\n",
" <td>7252</td>\n",
" <td>434</td>\n",
" <td>851</td>\n",
" <td>587</td>\n",
" <td>941</td>\n",
" <td>301</td>\n",
" <td>1123</td>\n",
" <td>2478</td>\n",
" <td>566</td>\n",
" <td>1014</td>\n",
" <td>...</td>\n",
" <td>1445</td>\n",
" <td>5015</td>\n",
" <td>599</td>\n",
" <td>1358</td>\n",
" <td>1757</td>\n",
" <td>934</td>\n",
" <td>787</td>\n",
" <td>1670</td>\n",
" <td>1655</td>\n",
" <td>78116</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-08</th>\n",
" <td>8319</td>\n",
" <td>809</td>\n",
" <td>1755</td>\n",
" <td>2779</td>\n",
" <td>938</td>\n",
" <td>928</td>\n",
" <td>2678</td>\n",
" <td>4729</td>\n",
" <td>2242</td>\n",
" <td>3367</td>\n",
" <td>...</td>\n",
" <td>2409</td>\n",
" <td>10271</td>\n",
" <td>1801</td>\n",
" <td>3406</td>\n",
" <td>4703</td>\n",
" <td>2197</td>\n",
" <td>2577</td>\n",
" <td>4815</td>\n",
" <td>2422</td>\n",
" <td>190527</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-15</th>\n",
" <td>7384</td>\n",
" <td>1568</td>\n",
" <td>2602</td>\n",
" <td>4462</td>\n",
" <td>1515</td>\n",
" <td>1583</td>\n",
" <td>4537</td>\n",
" <td>8166</td>\n",
" <td>3989</td>\n",
" <td>5180</td>\n",
" <td>...</td>\n",
" <td>3168</td>\n",
" <td>13301</td>\n",
" <td>2081</td>\n",
" <td>3876</td>\n",
" <td>4504</td>\n",
" <td>3511</td>\n",
" <td>3187</td>\n",
" <td>5223</td>\n",
" <td>3169</td>\n",
" <td>267596</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-22</th>\n",
" <td>8119</td>\n",
" <td>2430</td>\n",
" <td>3062</td>\n",
" <td>6632</td>\n",
" <td>2530</td>\n",
" <td>2349</td>\n",
" <td>5245</td>\n",
" <td>7426</td>\n",
" <td>5092</td>\n",
" <td>5106</td>\n",
" <td>...</td>\n",
" <td>2449</td>\n",
" <td>12414</td>\n",
" <td>1923</td>\n",
" <td>3900</td>\n",
" <td>3831</td>\n",
" <td>3796</td>\n",
" <td>3210</td>\n",
" <td>4725</td>\n",
" <td>2847</td>\n",
" <td>283388</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-29</th>\n",
" <td>8023</td>\n",
" <td>2041</td>\n",
" <td>2577</td>\n",
" <td>5583</td>\n",
" <td>1938</td>\n",
" <td>1960</td>\n",
" <td>4265</td>\n",
" <td>5737</td>\n",
" <td>3899</td>\n",
" <td>3936</td>\n",
" <td>...</td>\n",
" <td>1805</td>\n",
" <td>8475</td>\n",
" <td>1294</td>\n",
" <td>2742</td>\n",
" <td>2372</td>\n",
" <td>3024</td>\n",
" <td>2760</td>\n",
" <td>3633</td>\n",
" <td>2734</td>\n",
" <td>214592</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-02-05</th>\n",
" <td>5663</td>\n",
" <td>1544</td>\n",
" <td>1798</td>\n",
" <td>3133</td>\n",
" <td>1310</td>\n",
" <td>1417</td>\n",
" <td>2645</td>\n",
" <td>3158</td>\n",
" <td>2306</td>\n",
" <td>2399</td>\n",
" <td>...</td>\n",
" <td>1066</td>\n",
" <td>5406</td>\n",
" <td>691</td>\n",
" <td>1768</td>\n",
" <td>1588</td>\n",
" <td>2037</td>\n",
" <td>1790</td>\n",
" <td>2349</td>\n",
" <td>2059</td>\n",
" <td>129989</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-02-12</th>\n",
" <td>3471</td>\n",
" <td>962</td>\n",
" <td>1090</td>\n",
" <td>1472</td>\n",
" <td>765</td>\n",
" <td>788</td>\n",
" <td>1777</td>\n",
" <td>1469</td>\n",
" <td>1039</td>\n",
" <td>1221</td>\n",
" <td>...</td>\n",
" <td>500</td>\n",
" <td>2717</td>\n",
" <td>356</td>\n",
" <td>829</td>\n",
" <td>709</td>\n",
" <td>1118</td>\n",
" <td>1007</td>\n",
" <td>965</td>\n",
" <td>1348</td>\n",
" <td>61992</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-02-19</th>\n",
" <td>2322</td>\n",
" <td>786</td>\n",
" <td>808</td>\n",
" <td>1292</td>\n",
" <td>678</td>\n",
" <td>783</td>\n",
" <td>1374</td>\n",
" <td>932</td>\n",
" <td>741</td>\n",
" <td>819</td>\n",
" <td>...</td>\n",
" <td>383</td>\n",
" <td>1837</td>\n",
" <td>271</td>\n",
" <td>901</td>\n",
" <td>645</td>\n",
" <td>708</td>\n",
" <td>816</td>\n",
" <td>590</td>\n",
" <td>768</td>\n",
" <td>44601</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-02-26</th>\n",
" <td>1847</td>\n",
" <td>678</td>\n",
" <td>605</td>\n",
" <td>858</td>\n",
" <td>472</td>\n",
" <td>558</td>\n",
" <td>1032</td>\n",
" <td>530</td>\n",
" <td>408</td>\n",
" <td>660</td>\n",
" <td>...</td>\n",
" <td>187</td>\n",
" <td>1149</td>\n",
" <td>160</td>\n",
" <td>535</td>\n",
" <td>342</td>\n",
" <td>491</td>\n",
" <td>516</td>\n",
" <td>419</td>\n",
" <td>564</td>\n",
" <td>29384</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-03-05</th>\n",
" <td>1359</td>\n",
" <td>571</td>\n",
" <td>442</td>\n",
" <td>734</td>\n",
" <td>491</td>\n",
" <td>425</td>\n",
" <td>730</td>\n",
" <td>299</td>\n",
" <td>307</td>\n",
" <td>463</td>\n",
" <td>...</td>\n",
" <td>86</td>\n",
" <td>775</td>\n",
" <td>95</td>\n",
" <td>418</td>\n",
" <td>244</td>\n",
" <td>336</td>\n",
" <td>326</td>\n",
" <td>248</td>\n",
" <td>355</td>\n",
" <td>20454</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-03-12</th>\n",
" <td>1022</td>\n",
" <td>726</td>\n",
" <td>350</td>\n",
" <td>558</td>\n",
" <td>443</td>\n",
" <td>300</td>\n",
" <td>489</td>\n",
" <td>143</td>\n",
" <td>170</td>\n",
" <td>291</td>\n",
" <td>...</td>\n",
" <td>51</td>\n",
" <td>608</td>\n",
" <td>140</td>\n",
" <td>346</td>\n",
" <td>198</td>\n",
" <td>248</td>\n",
" <td>264</td>\n",
" <td>178</td>\n",
" <td>337</td>\n",
" <td>14488</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-03-19</th>\n",
" <td>776</td>\n",
" <td>618</td>\n",
" <td>277</td>\n",
" <td>513</td>\n",
" <td>521</td>\n",
" <td>218</td>\n",
" <td>357</td>\n",
" <td>127</td>\n",
" <td>178</td>\n",
" <td>160</td>\n",
" <td>...</td>\n",
" <td>20</td>\n",
" <td>514</td>\n",
" <td>140</td>\n",
" <td>339</td>\n",
" <td>170</td>\n",
" <td>212</td>\n",
" <td>274</td>\n",
" <td>134</td>\n",
" <td>302</td>\n",
" <td>12320</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-03-26</th>\n",
" <td>478</td>\n",
" <td>346</td>\n",
" <td>149</td>\n",
" <td>323</td>\n",
" <td>351</td>\n",
" <td>192</td>\n",
" <td>265</td>\n",
" <td>109</td>\n",
" <td>98</td>\n",
" <td>178</td>\n",
" <td>...</td>\n",
" <td>11</td>\n",
" <td>309</td>\n",
" <td>96</td>\n",
" <td>230</td>\n",
" <td>156</td>\n",
" <td>130</td>\n",
" <td>179</td>\n",
" <td>125</td>\n",
" <td>277</td>\n",
" <td>8567</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-04-02</th>\n",
" <td>364</td>\n",
" <td>326</td>\n",
" <td>138</td>\n",
" <td>230</td>\n",
" <td>432</td>\n",
" <td>149</td>\n",
" <td>279</td>\n",
" <td>106</td>\n",
" <td>73</td>\n",
" <td>121</td>\n",
" <td>...</td>\n",
" <td>25</td>\n",
" <td>180</td>\n",
" <td>62</td>\n",
" <td>170</td>\n",
" <td>90</td>\n",
" <td>85</td>\n",
" <td>118</td>\n",
" <td>78</td>\n",
" <td>204</td>\n",
" <td>7227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-04-09</th>\n",
" <td>325</td>\n",
" <td>277</td>\n",
" <td>175</td>\n",
" <td>290</td>\n",
" <td>383</td>\n",
" <td>151</td>\n",
" <td>290</td>\n",
" <td>148</td>\n",
" <td>139</td>\n",
" <td>126</td>\n",
" <td>...</td>\n",
" <td>20</td>\n",
" <td>320</td>\n",
" <td>86</td>\n",
" <td>177</td>\n",
" <td>103</td>\n",
" <td>83</td>\n",
" <td>107</td>\n",
" <td>101</td>\n",
" <td>231</td>\n",
" <td>8282</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-04-16</th>\n",
" <td>505</td>\n",
" <td>217</td>\n",
" <td>219</td>\n",
" <td>315</td>\n",
" <td>339</td>\n",
" <td>253</td>\n",
" <td>452</td>\n",
" <td>240</td>\n",
" <td>130</td>\n",
" <td>314</td>\n",
" <td>...</td>\n",
" <td>23</td>\n",
" <td>246</td>\n",
" <td>106</td>\n",
" <td>184</td>\n",
" <td>91</td>\n",
" <td>100</td>\n",
" <td>97</td>\n",
" <td>148</td>\n",
" <td>219</td>\n",
" <td>12613</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-04-23</th>\n",
" <td>397</td>\n",
" <td>198</td>\n",
" <td>281</td>\n",
" <td>195</td>\n",
" <td>336</td>\n",
" <td>133</td>\n",
" <td>402</td>\n",
" <td>97</td>\n",
" <td>105</td>\n",
" <td>141</td>\n",
" <td>...</td>\n",
" <td>19</td>\n",
" <td>183</td>\n",
" <td>60</td>\n",
" <td>123</td>\n",
" <td>69</td>\n",
" <td>64</td>\n",
" <td>71</td>\n",
" <td>161</td>\n",
" <td>260</td>\n",
" <td>10601</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-04-30</th>\n",
" <td>349</td>\n",
" <td>114</td>\n",
" <td>180</td>\n",
" <td>69</td>\n",
" <td>249</td>\n",
" <td>38</td>\n",
" <td>256</td>\n",
" <td>107</td>\n",
" <td>51</td>\n",
" <td>33</td>\n",
" <td>...</td>\n",
" <td>21</td>\n",
" <td>119</td>\n",
" <td>16</td>\n",
" <td>63</td>\n",
" <td>41</td>\n",
" <td>73</td>\n",
" <td>27</td>\n",
" <td>38</td>\n",
" <td>407</td>\n",
" <td>4703</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-05-07</th>\n",
" <td>145</td>\n",
" <td>71</td>\n",
" <td>123</td>\n",
" <td>89</td>\n",
" <td>97</td>\n",
" <td>29</td>\n",
" <td>143</td>\n",
" <td>73</td>\n",
" <td>31</td>\n",
" <td>43</td>\n",
" <td>...</td>\n",
" <td>23</td>\n",
" <td>58</td>\n",
" <td>30</td>\n",
" <td>23</td>\n",
" <td>24</td>\n",
" <td>34</td>\n",
" <td>15</td>\n",
" <td>39</td>\n",
" <td>267</td>\n",
" <td>3636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-05-14</th>\n",
" <td>221</td>\n",
" <td>76</td>\n",
" <td>115</td>\n",
" <td>113</td>\n",
" <td>59</td>\n",
" <td>76</td>\n",
" <td>232</td>\n",
" <td>86</td>\n",
" <td>44</td>\n",
" <td>49</td>\n",
" <td>...</td>\n",
" <td>11</td>\n",
" <td>136</td>\n",
" <td>37</td>\n",
" <td>47</td>\n",
" <td>28</td>\n",
" <td>28</td>\n",
" <td>24</td>\n",
" <td>48</td>\n",
" <td>258</td>\n",
" <td>4559</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>37 rows × 48 columns</p>\n",
"</div>"
],
"text/plain": [
"都道府県 北海道 青森県 岩手県 宮城県 秋田県 山形県 福島県 茨城県 栃木県 群馬県 ... \\\n",
"2018-09-03 0 0 0 1 0 1 5 11 10 0 ... \n",
"2018-09-10 1 0 0 2 1 4 7 4 3 2 ... \n",
"2018-09-17 1 0 1 4 0 3 4 22 3 0 ... \n",
"2018-09-24 2 0 10 6 2 3 18 14 8 0 ... \n",
"2018-10-01 4 5 7 23 1 5 18 9 7 1 ... \n",
"2018-10-08 17 6 2 29 0 11 6 11 2 1 ... \n",
"2018-10-15 81 16 6 11 0 26 4 14 2 0 ... \n",
"2018-10-22 96 10 10 6 0 12 3 17 0 2 ... \n",
"2018-10-29 42 9 2 13 0 18 8 23 5 2 ... \n",
"2018-11-05 37 35 13 51 0 18 9 55 17 0 ... \n",
"2018-11-12 80 30 9 51 0 13 5 46 14 4 ... \n",
"2018-11-19 141 77 18 36 3 1 16 80 9 9 ... \n",
"2018-11-26 269 111 14 19 22 4 45 100 14 63 ... \n",
"2018-12-03 882 108 27 62 61 33 59 145 26 81 ... \n",
"2018-12-10 2138 112 93 97 114 158 77 263 58 227 ... \n",
"2018-12-17 5059 132 171 278 202 253 169 675 177 462 ... \n",
"2018-12-24 7152 220 310 327 415 273 365 1019 432 661 ... \n",
"2019-01-01 7252 434 851 587 941 301 1123 2478 566 1014 ... \n",
"2019-01-08 8319 809 1755 2779 938 928 2678 4729 2242 3367 ... \n",
"2019-01-15 7384 1568 2602 4462 1515 1583 4537 8166 3989 5180 ... \n",
"2019-01-22 8119 2430 3062 6632 2530 2349 5245 7426 5092 5106 ... \n",
"2019-01-29 8023 2041 2577 5583 1938 1960 4265 5737 3899 3936 ... \n",
"2019-02-05 5663 1544 1798 3133 1310 1417 2645 3158 2306 2399 ... \n",
"2019-02-12 3471 962 1090 1472 765 788 1777 1469 1039 1221 ... \n",
"2019-02-19 2322 786 808 1292 678 783 1374 932 741 819 ... \n",
"2019-02-26 1847 678 605 858 472 558 1032 530 408 660 ... \n",
"2019-03-05 1359 571 442 734 491 425 730 299 307 463 ... \n",
"2019-03-12 1022 726 350 558 443 300 489 143 170 291 ... \n",
"2019-03-19 776 618 277 513 521 218 357 127 178 160 ... \n",
"2019-03-26 478 346 149 323 351 192 265 109 98 178 ... \n",
"2019-04-02 364 326 138 230 432 149 279 106 73 121 ... \n",
"2019-04-09 325 277 175 290 383 151 290 148 139 126 ... \n",
"2019-04-16 505 217 219 315 339 253 452 240 130 314 ... \n",
"2019-04-23 397 198 281 195 336 133 402 97 105 141 ... \n",
"2019-04-30 349 114 180 69 249 38 256 107 51 33 ... \n",
"2019-05-07 145 71 123 89 97 29 143 73 31 43 ... \n",
"2019-05-14 221 76 115 113 59 76 232 86 44 49 ... \n",
"\n",
"都道府県 高知県 福岡県 佐賀県 長崎県 熊本県 大分県 宮崎県 鹿児島県 沖縄県 総数 \n",
"2018-09-03 8 22 20 4 7 19 0 11 39 338 \n",
"2018-09-10 10 11 20 5 4 19 3 3 77 655 \n",
"2018-09-17 8 19 0 3 14 4 6 11 147 668 \n",
"2018-09-24 3 32 2 8 28 7 4 23 214 795 \n",
"2018-10-01 1 22 0 4 18 11 0 5 162 848 \n",
"2018-10-08 1 31 2 0 28 4 1 1 79 617 \n",
"2018-10-15 0 14 0 4 38 5 0 8 128 955 \n",
"2018-10-22 0 51 0 1 36 3 0 10 122 959 \n",
"2018-10-29 0 60 1 2 36 2 2 33 72 1029 \n",
"2018-11-05 1 95 3 3 37 3 1 35 79 1705 \n",
"2018-11-12 2 97 8 10 38 5 8 57 61 1885 \n",
"2018-11-19 0 147 8 46 37 5 15 109 60 2572 \n",
"2018-11-26 10 218 30 41 69 34 18 153 92 4599 \n",
"2018-12-03 34 418 29 85 161 107 32 254 75 8438 \n",
"2018-12-10 55 803 45 154 310 264 68 392 174 16589 \n",
"2018-12-17 236 1809 164 538 888 421 242 1025 373 39589 \n",
"2018-12-24 539 2691 311 733 1162 563 345 904 556 54517 \n",
"2019-01-01 1445 5015 599 1358 1757 934 787 1670 1655 78116 \n",
"2019-01-08 2409 10271 1801 3406 4703 2197 2577 4815 2422 190527 \n",
"2019-01-15 3168 13301 2081 3876 4504 3511 3187 5223 3169 267596 \n",
"2019-01-22 2449 12414 1923 3900 3831 3796 3210 4725 2847 283388 \n",
"2019-01-29 1805 8475 1294 2742 2372 3024 2760 3633 2734 214592 \n",
"2019-02-05 1066 5406 691 1768 1588 2037 1790 2349 2059 129989 \n",
"2019-02-12 500 2717 356 829 709 1118 1007 965 1348 61992 \n",
"2019-02-19 383 1837 271 901 645 708 816 590 768 44601 \n",
"2019-02-26 187 1149 160 535 342 491 516 419 564 29384 \n",
"2019-03-05 86 775 95 418 244 336 326 248 355 20454 \n",
"2019-03-12 51 608 140 346 198 248 264 178 337 14488 \n",
"2019-03-19 20 514 140 339 170 212 274 134 302 12320 \n",
"2019-03-26 11 309 96 230 156 130 179 125 277 8567 \n",
"2019-04-02 25 180 62 170 90 85 118 78 204 7227 \n",
"2019-04-09 20 320 86 177 103 83 107 101 231 8282 \n",
"2019-04-16 23 246 106 184 91 100 97 148 219 12613 \n",
"2019-04-23 19 183 60 123 69 64 71 161 260 10601 \n",
"2019-04-30 21 119 16 63 41 73 27 38 407 4703 \n",
"2019-05-07 23 58 30 23 24 34 15 39 267 3636 \n",
"2019-05-14 11 136 37 47 28 28 24 48 258 4559 \n",
"\n",
"[37 rows x 48 columns]"
]
},
"execution_count": 191,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_clean"
]
},
{
"cell_type": "code",
"execution_count": 198,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 198,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df_clean[\"総数\"].plot()"
]
},
{
"cell_type": "code",
"execution_count": 199,
"metadata": {},
"outputs": [],
"source": [
"df_clean.to_csv(\"2018-2019.csv\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "osken",
"language": "python",
"name": "osken"
},
"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.8.0"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment