Skip to content

Instantly share code, notes, and snippets.

@abishekmuthian
Last active March 12, 2020 02:18
Show Gist options
  • Save abishekmuthian/35c692333ff07fbf89f6cce175834f77 to your computer and use it in GitHub Desktop.
Save abishekmuthian/35c692333ff07fbf89f6cce175834f77 to your computer and use it in GitHub Desktop.
Plotting new daily confirmed COVID-19 cases against local highest temperature on that day.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Correlating new COVID-19 cases with local highest tempeature for that day"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Motivation and Caveats\n",
"\n",
"Refer the [website](https://abishekmuthian.com/covid-19-temperature-correlation) for motivation and caveats.\n",
"\n",
"* Please don't quote this data or me without reading the caveats.\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Data : https://github.com/heavyinfo/COVID-19-Temperature-Correlation"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"README.md\r\n",
"time_series_19-covid-Confirmed-difference.csv\r\n",
"time_series_19-covid-Confirmed-temperature.csv\r\n",
"time_series_19-covid-Confirmed.csv\r\n",
"time_series_19-covid-Deaths.csv\r\n",
"time_series_19-covid-Recovered.csv\r\n"
]
}
],
"source": [
"PATH = \"data/COVID-19/csse_covid_19_data/csse_covid_19_time_series/\"\n",
"!ls {PATH}"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 32 ms, sys: 12 ms, total: 44 ms\n",
"Wall time: 42 ms\n"
]
}
],
"source": [
"%%time\n",
"df_all= pd.read_csv(f'{PATH}time_series_19-covid-Confirmed.csv')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"df=df_all.copy()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" <td>15</td>\n",
" <td>39</td>\n",
" <td>60</td>\n",
" <td>70</td>\n",
" <td>...</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>14</td>\n",
" <td>22</td>\n",
" <td>36</td>\n",
" <td>41</td>\n",
" <td>68</td>\n",
" <td>80</td>\n",
" <td>...</td>\n",
" <td>413</td>\n",
" <td>414</td>\n",
" <td>414</td>\n",
" <td>418</td>\n",
" <td>418</td>\n",
" <td>422</td>\n",
" <td>426</td>\n",
" <td>428</td>\n",
" <td>428</td>\n",
" <td>429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>6</td>\n",
" <td>9</td>\n",
" <td>27</td>\n",
" <td>57</td>\n",
" <td>75</td>\n",
" <td>110</td>\n",
" <td>...</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>18</td>\n",
" <td>35</td>\n",
" <td>59</td>\n",
" <td>...</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>14</td>\n",
" <td>...</td>\n",
" <td>91</td>\n",
" <td>91</td>\n",
" <td>91</td>\n",
" <td>91</td>\n",
" <td>102</td>\n",
" <td>119</td>\n",
" <td>120</td>\n",
" <td>124</td>\n",
" <td>124</td>\n",
" <td>125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>Dane, WI</td>\n",
" <td>US</td>\n",
" <td>43.0186</td>\n",
" <td>-89.5498</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>Pierce, WI</td>\n",
" <td>US</td>\n",
" <td>44.7509</td>\n",
" <td>-92.3814</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>Cuyahoga, OH</td>\n",
" <td>US</td>\n",
" <td>41.4339</td>\n",
" <td>-81.6758</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>Weber, UT</td>\n",
" <td>US</td>\n",
" <td>41.2603</td>\n",
" <td>-111.9522</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>Wilton, CT</td>\n",
" <td>US</td>\n",
" <td>41.1954</td>\n",
" <td>-73.4379</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 1 9 \n",
"1 Beijing Mainland China 40.1824 116.4142 14 22 \n",
"2 Chongqing Mainland China 30.0572 107.8740 6 9 \n",
"3 Fujian Mainland China 26.0789 117.9874 1 5 \n",
"4 Gansu Mainland China 36.0611 103.8343 0 2 \n",
".. ... ... ... ... ... ... \n",
"342 Dane, WI US 43.0186 -89.5498 0 0 \n",
"343 Pierce, WI US 44.7509 -92.3814 0 0 \n",
"344 Cuyahoga, OH US 41.4339 -81.6758 0 0 \n",
"345 Weber, UT US 41.2603 -111.9522 0 0 \n",
"346 Wilton, CT US 41.1954 -73.4379 0 0 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 15 39 60 70 ... 990 990 990 990 \n",
"1 36 41 68 80 ... 413 414 414 418 \n",
"2 27 57 75 110 ... 576 576 576 576 \n",
"3 10 18 35 59 ... 296 296 296 296 \n",
"4 2 4 7 14 ... 91 91 91 91 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0 0 0 0 ... 0 0 0 0 \n",
"343 0 0 0 0 ... 0 0 0 0 \n",
"344 0 0 0 0 ... 0 0 0 0 \n",
"345 0 0 0 0 ... 0 0 0 0 \n",
"346 0 0 0 0 ... 0 0 0 0 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 990 990 990 990 990 990 \n",
"1 418 422 426 428 428 429 \n",
"2 576 576 576 576 576 576 \n",
"3 296 296 296 296 296 296 \n",
"4 102 119 120 124 124 125 \n",
".. ... ... ... ... ... ... \n",
"342 0 0 0 0 0 2 \n",
"343 0 0 0 0 0 1 \n",
"344 0 0 0 0 0 3 \n",
"345 0 0 0 0 0 1 \n",
"346 0 0 0 0 0 1 \n",
"\n",
"[347 rows x 53 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Taking note of the structure for limiting future iterations.\n",
"(Update : It may not be possible as new countries, provinses are\n",
"not added sequentially).\n",
"\n",
"March 11 : 347 rows × 53 columns\n",
"\n",
"March 10 : 266 rows × 52 columns\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Dropping the unnecessary columns\n",
"df.drop(['Province/State','Country/Region','Lat','Long'],axis=1,inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"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>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" <td>15</td>\n",
" <td>39</td>\n",
" <td>60</td>\n",
" <td>70</td>\n",
" <td>106</td>\n",
" <td>152</td>\n",
" <td>200</td>\n",
" <td>237</td>\n",
" <td>...</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" <td>990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>14</td>\n",
" <td>22</td>\n",
" <td>36</td>\n",
" <td>41</td>\n",
" <td>68</td>\n",
" <td>80</td>\n",
" <td>91</td>\n",
" <td>111</td>\n",
" <td>114</td>\n",
" <td>139</td>\n",
" <td>...</td>\n",
" <td>413</td>\n",
" <td>414</td>\n",
" <td>414</td>\n",
" <td>418</td>\n",
" <td>418</td>\n",
" <td>422</td>\n",
" <td>426</td>\n",
" <td>428</td>\n",
" <td>428</td>\n",
" <td>429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>6</td>\n",
" <td>9</td>\n",
" <td>27</td>\n",
" <td>57</td>\n",
" <td>75</td>\n",
" <td>110</td>\n",
" <td>132</td>\n",
" <td>147</td>\n",
" <td>182</td>\n",
" <td>211</td>\n",
" <td>...</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" <td>576</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>18</td>\n",
" <td>35</td>\n",
" <td>59</td>\n",
" <td>80</td>\n",
" <td>84</td>\n",
" <td>101</td>\n",
" <td>120</td>\n",
" <td>...</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" <td>296</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>14</td>\n",
" <td>19</td>\n",
" <td>24</td>\n",
" <td>26</td>\n",
" <td>29</td>\n",
" <td>...</td>\n",
" <td>91</td>\n",
" <td>91</td>\n",
" <td>91</td>\n",
" <td>91</td>\n",
" <td>102</td>\n",
" <td>119</td>\n",
" <td>120</td>\n",
" <td>124</td>\n",
" <td>124</td>\n",
" <td>125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 49 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 \\\n",
"0 1 9 15 39 60 70 106 152 \n",
"1 14 22 36 41 68 80 91 111 \n",
"2 6 9 27 57 75 110 132 147 \n",
"3 1 5 10 18 35 59 80 84 \n",
"4 0 2 2 4 7 14 19 24 \n",
".. ... ... ... ... ... ... ... ... \n",
"342 0 0 0 0 0 0 0 0 \n",
"343 0 0 0 0 0 0 0 0 \n",
"344 0 0 0 0 0 0 0 0 \n",
"345 0 0 0 0 0 0 0 0 \n",
"346 0 0 0 0 0 0 0 0 \n",
"\n",
" 1/30/20 1/31/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 \\\n",
"0 200 237 ... 990 990 990 990 990 990 \n",
"1 114 139 ... 413 414 414 418 418 422 \n",
"2 182 211 ... 576 576 576 576 576 576 \n",
"3 101 120 ... 296 296 296 296 296 296 \n",
"4 26 29 ... 91 91 91 91 102 119 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0 0 ... 0 0 0 0 0 0 \n",
"343 0 0 ... 0 0 0 0 0 0 \n",
"344 0 0 ... 0 0 0 0 0 0 \n",
"345 0 0 ... 0 0 0 0 0 0 \n",
"346 0 0 ... 0 0 0 0 0 0 \n",
"\n",
" 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 990 990 990 990 \n",
"1 426 428 428 429 \n",
"2 576 576 576 576 \n",
"3 296 296 296 296 \n",
"4 120 124 124 125 \n",
".. ... ... ... ... \n",
"342 0 0 0 2 \n",
"343 0 0 0 1 \n",
"344 0 0 0 3 \n",
"345 0 0 0 1 \n",
"346 0 0 0 1 \n",
"\n",
"[347 rows x 49 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Finding new confirmed cases for each day\n",
"df_diff=df.diff(axis=1,periods=1)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"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>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NaN</td>\n",
" <td>8.0</td>\n",
" <td>6.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>10.0</td>\n",
" <td>36.0</td>\n",
" <td>46.0</td>\n",
" <td>48.0</td>\n",
" <td>37.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NaN</td>\n",
" <td>8.0</td>\n",
" <td>14.0</td>\n",
" <td>5.0</td>\n",
" <td>27.0</td>\n",
" <td>12.0</td>\n",
" <td>11.0</td>\n",
" <td>20.0</td>\n",
" <td>3.0</td>\n",
" <td>25.0</td>\n",
" <td>...</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NaN</td>\n",
" <td>3.0</td>\n",
" <td>18.0</td>\n",
" <td>30.0</td>\n",
" <td>18.0</td>\n",
" <td>35.0</td>\n",
" <td>22.0</td>\n",
" <td>15.0</td>\n",
" <td>35.0</td>\n",
" <td>29.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>5.0</td>\n",
" <td>8.0</td>\n",
" <td>17.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>4.0</td>\n",
" <td>17.0</td>\n",
" <td>19.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>7.0</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>11.0</td>\n",
" <td>17.0</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 49 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 \\\n",
"0 NaN 8.0 6.0 24.0 21.0 10.0 36.0 46.0 \n",
"1 NaN 8.0 14.0 5.0 27.0 12.0 11.0 20.0 \n",
"2 NaN 3.0 18.0 30.0 18.0 35.0 22.0 15.0 \n",
"3 NaN 4.0 5.0 8.0 17.0 24.0 21.0 4.0 \n",
"4 NaN 2.0 0.0 2.0 3.0 7.0 5.0 5.0 \n",
".. ... ... ... ... ... ... ... ... \n",
"342 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"343 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"344 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"345 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"346 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 1/30/20 1/31/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 \\\n",
"0 48.0 37.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 3.0 25.0 ... 2.0 1.0 0.0 4.0 0.0 4.0 \n",
"2 35.0 29.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 17.0 19.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 2.0 3.0 ... 0.0 0.0 0.0 0.0 11.0 17.0 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"343 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"344 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"345 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"346 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 0.0 0.0 0.0 0.0 \n",
"1 4.0 2.0 0.0 1.0 \n",
"2 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 \n",
"4 1.0 4.0 0.0 1.0 \n",
".. ... ... ... ... \n",
"342 0.0 0.0 0.0 2.0 \n",
"343 0.0 0.0 0.0 1.0 \n",
"344 0.0 0.0 0.0 3.0 \n",
"345 0.0 0.0 0.0 1.0 \n",
"346 0.0 0.0 0.0 1.0 \n",
"\n",
"[347 rows x 49 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_diff"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# Dropping first date column to remove NaN\n",
"df_diff.drop(['1/22/20'],axis=1,inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"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>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>2/1/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>8.0</td>\n",
" <td>6.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>10.0</td>\n",
" <td>36.0</td>\n",
" <td>46.0</td>\n",
" <td>48.0</td>\n",
" <td>37.0</td>\n",
" <td>60.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>8.0</td>\n",
" <td>14.0</td>\n",
" <td>5.0</td>\n",
" <td>27.0</td>\n",
" <td>12.0</td>\n",
" <td>11.0</td>\n",
" <td>20.0</td>\n",
" <td>3.0</td>\n",
" <td>25.0</td>\n",
" <td>29.0</td>\n",
" <td>...</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3.0</td>\n",
" <td>18.0</td>\n",
" <td>30.0</td>\n",
" <td>18.0</td>\n",
" <td>35.0</td>\n",
" <td>22.0</td>\n",
" <td>15.0</td>\n",
" <td>35.0</td>\n",
" <td>29.0</td>\n",
" <td>36.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.0</td>\n",
" <td>5.0</td>\n",
" <td>8.0</td>\n",
" <td>17.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>4.0</td>\n",
" <td>17.0</td>\n",
" <td>19.0</td>\n",
" <td>24.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>7.0</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>11.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>11.0</td>\n",
" <td>17.0</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 48 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 1/30/20 \\\n",
"0 8.0 6.0 24.0 21.0 10.0 36.0 46.0 48.0 \n",
"1 8.0 14.0 5.0 27.0 12.0 11.0 20.0 3.0 \n",
"2 3.0 18.0 30.0 18.0 35.0 22.0 15.0 35.0 \n",
"3 4.0 5.0 8.0 17.0 24.0 21.0 4.0 17.0 \n",
"4 2.0 0.0 2.0 3.0 7.0 5.0 5.0 2.0 \n",
".. ... ... ... ... ... ... ... ... \n",
"342 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"343 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"344 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"345 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"346 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 1/31/20 2/1/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 \\\n",
"0 37.0 60.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 25.0 29.0 ... 2.0 1.0 0.0 4.0 0.0 4.0 \n",
"2 29.0 36.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 19.0 24.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 3.0 11.0 ... 0.0 0.0 0.0 0.0 11.0 17.0 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"343 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"344 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"345 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"346 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 0.0 0.0 0.0 0.0 \n",
"1 4.0 2.0 0.0 1.0 \n",
"2 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 \n",
"4 1.0 4.0 0.0 1.0 \n",
".. ... ... ... ... \n",
"342 0.0 0.0 0.0 2.0 \n",
"343 0.0 0.0 0.0 1.0 \n",
"344 0.0 0.0 0.0 3.0 \n",
"345 0.0 0.0 0.0 1.0 \n",
"346 0.0 0.0 0.0 1.0 \n",
"\n",
"[347 rows x 48 columns]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_diff"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# Updating the dataframe with new data\n",
"df_all.update(df_diff)"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>1</td>\n",
" <td>8.0</td>\n",
" <td>6.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>10.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>14</td>\n",
" <td>8.0</td>\n",
" <td>14.0</td>\n",
" <td>5.0</td>\n",
" <td>27.0</td>\n",
" <td>12.0</td>\n",
" <td>...</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>6</td>\n",
" <td>3.0</td>\n",
" <td>18.0</td>\n",
" <td>30.0</td>\n",
" <td>18.0</td>\n",
" <td>35.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>1</td>\n",
" <td>4.0</td>\n",
" <td>5.0</td>\n",
" <td>8.0</td>\n",
" <td>17.0</td>\n",
" <td>24.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>7.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>11.0</td>\n",
" <td>17.0</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>Dane, WI</td>\n",
" <td>US</td>\n",
" <td>43.0186</td>\n",
" <td>-89.5498</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>Pierce, WI</td>\n",
" <td>US</td>\n",
" <td>44.7509</td>\n",
" <td>-92.3814</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>Cuyahoga, OH</td>\n",
" <td>US</td>\n",
" <td>41.4339</td>\n",
" <td>-81.6758</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>Weber, UT</td>\n",
" <td>US</td>\n",
" <td>41.2603</td>\n",
" <td>-111.9522</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>Wilton, CT</td>\n",
" <td>US</td>\n",
" <td>41.1954</td>\n",
" <td>-73.4379</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 1 8.0 \n",
"1 Beijing Mainland China 40.1824 116.4142 14 8.0 \n",
"2 Chongqing Mainland China 30.0572 107.8740 6 3.0 \n",
"3 Fujian Mainland China 26.0789 117.9874 1 4.0 \n",
"4 Gansu Mainland China 36.0611 103.8343 0 2.0 \n",
".. ... ... ... ... ... ... \n",
"342 Dane, WI US 43.0186 -89.5498 0 0.0 \n",
"343 Pierce, WI US 44.7509 -92.3814 0 0.0 \n",
"344 Cuyahoga, OH US 41.4339 -81.6758 0 0.0 \n",
"345 Weber, UT US 41.2603 -111.9522 0 0.0 \n",
"346 Wilton, CT US 41.1954 -73.4379 0 0.0 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 6.0 24.0 21.0 10.0 ... 0.0 0.0 0.0 0.0 \n",
"1 14.0 5.0 27.0 12.0 ... 2.0 1.0 0.0 4.0 \n",
"2 18.0 30.0 18.0 35.0 ... 0.0 0.0 0.0 0.0 \n",
"3 5.0 8.0 17.0 24.0 ... 0.0 0.0 0.0 0.0 \n",
"4 0.0 2.0 3.0 7.0 ... 0.0 0.0 0.0 0.0 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"343 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"344 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"345 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"346 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 0.0 4.0 4.0 2.0 0.0 1.0 \n",
"2 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 11.0 17.0 1.0 4.0 0.0 1.0 \n",
".. ... ... ... ... ... ... \n",
"342 0.0 0.0 0.0 0.0 0.0 2.0 \n",
"343 0.0 0.0 0.0 0.0 0.0 1.0 \n",
"344 0.0 0.0 0.0 0.0 0.0 3.0 \n",
"345 0.0 0.0 0.0 0.0 0.0 1.0 \n",
"346 0.0 0.0 0.0 0.0 0.0 1.0 \n",
"\n",
"[347 rows x 53 columns]"
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Dataframe now has new reported cases for each day\n",
"pd.set_option('display.max_rows', 25) #348 As of March 11\n",
"df_all"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"# Writing the new data to csv\n",
"df_all.to_csv(f'{PATH}time_series_19-covid-Confirmed-difference.csv',index=False)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'latitude': 21, 'longitude': 78, 'timezone': 'Asia/Kolkata', 'daily': {'data': [{'time': 1583519400, 'summary': 'Clear throughout the day.', 'icon': 'clear-day', 'sunriseTime': 1583543100, 'sunsetTime': 1583585760, 'moonPhase': 0.42, 'precipIntensity': 0.0012, 'precipIntensityMax': 0.0072, 'precipIntensityMaxTime': 1583593200, 'precipProbability': 0.03, 'precipType': 'rain', 'temperatureHigh': 33.44, 'temperatureHighTime': 1583575020, 'temperatureLow': 16.73, 'temperatureLowTime': 1583622180, 'apparentTemperatureHigh': 33.16, 'apparentTemperatureHighTime': 1583575020, 'apparentTemperatureLow': 17, 'apparentTemperatureLowTime': 1583622180, 'dewPoint': 12, 'humidity': 0.49, 'pressure': 1012.2, 'windSpeed': 2.25, 'windGust': 7.75, 'windGustTime': 1583577840, 'windBearing': 283, 'cloudCover': 0.01, 'uvIndex': 10, 'uvIndexTime': 1583564460, 'visibility': 16.093, 'ozone': 271.8, 'temperatureMin': 16.49, 'temperatureMinTime': 1583535840, 'temperatureMax': 33.44, 'temperatureMaxTime': 1583575020, 'apparentTemperatureMin': 16.76, 'apparentTemperatureMinTime': 1583535840, 'apparentTemperatureMax': 33.16, 'apparentTemperatureMaxTime': 1583575020}]}, 'offset': 5.5}\n"
]
}
],
"source": [
"# Testing weather service API\n",
"import requests\n",
"import os \n",
"\n",
"url = \"https://api.darksky.net/forecast/\"+os.environ.get('DARKSKY_API_KEY')+\"/21,78,1583574805?exclude=flags,currently,hourly&units=si\"\n",
"r = requests.get(url)\n",
"weather=r.json()\n",
"print(weather)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"33.44\n"
]
}
],
"source": [
"print (weather[\"daily\"][\"data\"][0][\"temperatureHigh\"])"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'latitude': 21, 'longitude': 78, 'timezone': 'Asia/Kolkata', 'daily': {'data': [{'time': 1579631400, 'summary': 'Partly cloudy throughout the day.', 'icon': 'partly-cloudy-day', 'sunriseTime': 1579656480, 'sunsetTime': 1579696380, 'moonPhase': 0.93, 'precipIntensity': 0.0129, 'precipIntensityMax': 0.0923, 'precipIntensityMaxTime': 1579640400, 'precipProbability': 0.12, 'precipType': 'rain', 'temperatureHigh': 30.6, 'temperatureHighTime': 1579688520, 'temperatureLow': 18.4, 'temperatureLowTime': 1579742400, 'apparentTemperatureHigh': 31.18, 'apparentTemperatureHighTime': 1579688460, 'apparentTemperatureLow': 18.93, 'apparentTemperatureLowTime': 1579742340, 'dewPoint': 18.5, 'humidity': 0.74, 'pressure': 1016.9, 'windSpeed': 1.9, 'windGust': 6.92, 'windGustTime': 1579633500, 'windBearing': 115, 'cloudCover': 0.63, 'uvIndex': 6, 'uvIndexTime': 1579677600, 'visibility': 16.093, 'ozone': 256.1, 'temperatureMin': 18.31, 'temperatureMinTime': 1579650660, 'temperatureMax': 30.6, 'temperatureMaxTime': 1579688520, 'apparentTemperatureMin': 19.03, 'apparentTemperatureMinTime': 1579650540, 'apparentTemperatureMax': 31.18, 'apparentTemperatureMaxTime': 1579688460}]}, 'offset': 5.5}\n"
]
}
],
"source": [
"# Testing strptime\n",
"import time,os\n",
"d='1/22/20'\n",
"p='%m/%d/%y'\n",
"epoch = int(time.mktime(time.strptime(d,p)))\n",
"\n",
"url = \"https://api.darksky.net/forecast/\"+os.environ.get('DARKSKY_API_KEY')+\"/21,78,\"+str(epoch)+\"?exclude=flags,currently,hourly&units=si\"\n",
"r = requests.get(url)\n",
"weather=r.json()\n",
"print(weather)"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {
"scrolled": true
},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>1</td>\n",
" <td>8.0</td>\n",
" <td>6.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>10.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>14</td>\n",
" <td>8.0</td>\n",
" <td>14.0</td>\n",
" <td>5.0</td>\n",
" <td>27.0</td>\n",
" <td>12.0</td>\n",
" <td>...</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>6</td>\n",
" <td>3.0</td>\n",
" <td>18.0</td>\n",
" <td>30.0</td>\n",
" <td>18.0</td>\n",
" <td>35.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>1</td>\n",
" <td>4.0</td>\n",
" <td>5.0</td>\n",
" <td>8.0</td>\n",
" <td>17.0</td>\n",
" <td>24.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>7.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>11.0</td>\n",
" <td>17.0</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>Dane, WI</td>\n",
" <td>US</td>\n",
" <td>43.0186</td>\n",
" <td>-89.5498</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>Pierce, WI</td>\n",
" <td>US</td>\n",
" <td>44.7509</td>\n",
" <td>-92.3814</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>Cuyahoga, OH</td>\n",
" <td>US</td>\n",
" <td>41.4339</td>\n",
" <td>-81.6758</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>Weber, UT</td>\n",
" <td>US</td>\n",
" <td>41.2603</td>\n",
" <td>-111.9522</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>Wilton, CT</td>\n",
" <td>US</td>\n",
" <td>41.1954</td>\n",
" <td>-73.4379</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 1 8.0 \n",
"1 Beijing Mainland China 40.1824 116.4142 14 8.0 \n",
"2 Chongqing Mainland China 30.0572 107.8740 6 3.0 \n",
"3 Fujian Mainland China 26.0789 117.9874 1 4.0 \n",
"4 Gansu Mainland China 36.0611 103.8343 0 2.0 \n",
".. ... ... ... ... ... ... \n",
"342 Dane, WI US 43.0186 -89.5498 0 0.0 \n",
"343 Pierce, WI US 44.7509 -92.3814 0 0.0 \n",
"344 Cuyahoga, OH US 41.4339 -81.6758 0 0.0 \n",
"345 Weber, UT US 41.2603 -111.9522 0 0.0 \n",
"346 Wilton, CT US 41.1954 -73.4379 0 0.0 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 6.0 24.0 21.0 10.0 ... 0.0 0.0 0.0 0.0 \n",
"1 14.0 5.0 27.0 12.0 ... 2.0 1.0 0.0 4.0 \n",
"2 18.0 30.0 18.0 35.0 ... 0.0 0.0 0.0 0.0 \n",
"3 5.0 8.0 17.0 24.0 ... 0.0 0.0 0.0 0.0 \n",
"4 0.0 2.0 3.0 7.0 ... 0.0 0.0 0.0 0.0 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"343 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"344 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"345 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"346 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 0.0 4.0 4.0 2.0 0.0 1.0 \n",
"2 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 11.0 17.0 1.0 4.0 0.0 1.0 \n",
".. ... ... ... ... ... ... \n",
"342 0.0 0.0 0.0 0.0 0.0 2.0 \n",
"343 0.0 0.0 0.0 0.0 0.0 1.0 \n",
"344 0.0 0.0 0.0 0.0 0.0 3.0 \n",
"345 0.0 0.0 0.0 0.0 0.0 1.0 \n",
"346 0.0 0.0 0.0 0.0 0.0 1.0 \n",
"\n",
"[347 rows x 53 columns]"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Showing new confirmed cases\n",
"df_all"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Province/State object\n",
"Country/Region object\n",
"Lat float64\n",
"Long float64\n",
"1/22/20 int64\n",
"1/23/20 float64\n",
"1/24/20 float64\n",
"1/25/20 float64\n",
"1/26/20 float64\n",
"1/27/20 float64\n",
"1/28/20 float64\n",
"1/29/20 float64\n",
"1/30/20 float64\n",
"1/31/20 float64\n",
"2/1/20 float64\n",
"2/2/20 float64\n",
"2/3/20 float64\n",
"2/4/20 float64\n",
"2/5/20 float64\n",
"2/6/20 float64\n",
"2/7/20 float64\n",
"2/8/20 float64\n",
"2/9/20 float64\n",
"2/10/20 float64\n",
"2/11/20 float64\n",
"2/12/20 float64\n",
"2/13/20 float64\n",
"2/14/20 float64\n",
"2/15/20 float64\n",
"2/16/20 float64\n",
"2/17/20 float64\n",
"2/18/20 float64\n",
"2/19/20 float64\n",
"2/20/20 float64\n",
"2/21/20 float64\n",
"2/22/20 float64\n",
"2/23/20 float64\n",
"2/24/20 float64\n",
"2/25/20 float64\n",
"2/26/20 float64\n",
"2/27/20 float64\n",
"2/28/20 float64\n",
"2/29/20 float64\n",
"3/1/20 float64\n",
"3/2/20 float64\n",
"3/3/20 float64\n",
"3/4/20 float64\n",
"3/5/20 float64\n",
"3/6/20 float64\n",
"3/7/20 float64\n",
"3/8/20 float64\n",
"3/9/20 float64\n",
"3/10/20 float64\n",
"dtype: object"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking the data types of the column\n",
"df_all.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"# Date columns may be int64 when read from source csv \n",
"# Converting it to float64 columns for storing temperature data\n",
"df_temperature_new=df_all.copy()\n",
"\n",
"for col in df_all.columns:\n",
" if df_all.columns.get_loc(col)> 3:\n",
" df_temperature_new=df_temperature_new.astype({col:'float64'})"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Province/State object\n",
"Country/Region object\n",
"Lat float64\n",
"Long float64\n",
"1/22/20 float64\n",
"1/23/20 float64\n",
"1/24/20 float64\n",
"1/25/20 float64\n",
"1/26/20 float64\n",
"1/27/20 float64\n",
"1/28/20 float64\n",
"1/29/20 float64\n",
"1/30/20 float64\n",
"1/31/20 float64\n",
"2/1/20 float64\n",
"2/2/20 float64\n",
"2/3/20 float64\n",
"2/4/20 float64\n",
"2/5/20 float64\n",
"2/6/20 float64\n",
"2/7/20 float64\n",
"2/8/20 float64\n",
"2/9/20 float64\n",
"2/10/20 float64\n",
"2/11/20 float64\n",
"2/12/20 float64\n",
"2/13/20 float64\n",
"2/14/20 float64\n",
"2/15/20 float64\n",
"2/16/20 float64\n",
"2/17/20 float64\n",
"2/18/20 float64\n",
"2/19/20 float64\n",
"2/20/20 float64\n",
"2/21/20 float64\n",
"2/22/20 float64\n",
"2/23/20 float64\n",
"2/24/20 float64\n",
"2/25/20 float64\n",
"2/26/20 float64\n",
"2/27/20 float64\n",
"2/28/20 float64\n",
"2/29/20 float64\n",
"3/1/20 float64\n",
"3/2/20 float64\n",
"3/3/20 float64\n",
"3/4/20 float64\n",
"3/5/20 float64\n",
"3/6/20 float64\n",
"3/7/20 float64\n",
"3/8/20 float64\n",
"3/9/20 float64\n",
"3/10/20 float64\n",
"dtype: object"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_temperature_new.dtypes "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fetching weather data"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1/22/20\n",
"{'latitude': 31.8257, 'longitude': 117.2264, 'timezone': 'Asia/Shanghai', 'daily': {'data': [{'time': 1579622400, 'summary': 'Light rain in the morning and afternoon.', 'icon': 'rain', 'sunriseTime': 1579648260, 'sunsetTime': 1579685760, 'moonPhase': 0.92, 'precipIntensity': 0.2701, 'precipIntensityMax': 1.8801, 'precipIntensityMaxTime': 1579669200, 'precipProbability': 0.94, 'precipType': 'rain', 'temperatureHigh': 8.08, 'temperatureHighTime': 1579679940, 'temperatureLow': 5.4, 'temperatureLowTime': 1579709340, 'apparentTemperatureHigh': 6.33, 'apparentTemperatureHighTime': 1579680480, 'apparentTemperatureLow': 4.01, 'apparentTemperatureLowTime': 1579710180, 'dewPoint': 4.13, 'humidity': 0.88, 'pressure': 1022.5, 'windSpeed': 1.76, 'windGust': 4.81, 'windGustTime': 1579676340, 'windBearing': 344, 'cloudCover': 0.99, 'uvIndex': 3, 'uvIndexTime': 1579667160, 'visibility': 14.689, 'ozone': 297.3, 'temperatureMin': 4.04, 'temperatureMinTime': 1579633440, 'temperatureMax': 8.08, 'temperatureMaxTime': 1579679940, 'apparentTemperatureMin': 2.93, 'apparentTemperatureMinTime': 1579640160, 'apparentTemperatureMax': 6.51, 'apparentTemperatureMaxTime': 1579697820}]}, 'offset': 8}\n",
"row_index:0,col:1/22/20\n",
"1/22/20\n",
"{'latitude': 40.1824, 'longitude': 116.4142, 'timezone': 'Asia/Shanghai', 'daily': {'data': [{'time': 1579622400, 'summary': 'Clear throughout the day.', 'icon': 'clear-day', 'sunriseTime': 1579649580, 'sunsetTime': 1579684860, 'moonPhase': 0.92, 'precipIntensity': 0, 'precipIntensityMax': 0, 'precipIntensityMaxTime': 1579651560, 'precipProbability': 0, 'temperatureHigh': 6.18, 'temperatureHighTime': 1579672860, 'temperatureLow': -4.7, 'temperatureLowTime': 1579735920, 'apparentTemperatureHigh': 5.9, 'apparentTemperatureHighTime': 1579672860, 'apparentTemperatureLow': -7.9, 'apparentTemperatureLowTime': 1579736160, 'dewPoint': -11.1, 'humidity': 0.49, 'pressure': 1024.1, 'windSpeed': 1.35, 'windGust': 2.6, 'windGustTime': 1579647240, 'windBearing': 344, 'cloudCover': 0.02, 'uvIndex': 2, 'uvIndexTime': 1579667040, 'visibility': 16.093, 'ozone': 350.7, 'temperatureMin': -6.57, 'temperatureMinTime': 1579647180, 'temperatureMax': 6.18, 'temperatureMaxTime': 1579672860, 'apparentTemperatureMin': -9.64, 'apparentTemperatureMinTime': 1579647240, 'apparentTemperatureMax': 5.9, 'apparentTemperatureMaxTime': 1579672860}]}, 'offset': 8}\n",
"row_index:1,col:1/22/20\n",
"1/22/20\n",
"{'latitude': 30.0572, 'longitude': 107.874, 'timezone': 'Asia/Shanghai', 'daily': {'data': [{'time': 1579622400, 'summary': 'Mostly cloudy throughout the day.', 'icon': 'rain', 'sunriseTime': 1579650300, 'sunsetTime': 1579688220, 'moonPhase': 0.92, 'precipIntensity': 0.1616, 'precipIntensityMax': 1.1505, 'precipIntensityMaxTime': 1579629780, 'precipProbability': 0.64, 'precipType': 'rain', 'temperatureHigh': 15.08, 'temperatureHighTime': 1579680000, 'temperatureLow': 8.32, 'temperatureLowTime': 1579736460, 'apparentTemperatureHigh': 14.8, 'apparentTemperatureHighTime': 1579680000, 'apparentTemperatureLow': 8.59, 'apparentTemperatureLowTime': 1579736460, 'dewPoint': 6.84, 'humidity': 0.78, 'pressure': 1018.7, 'windSpeed': 0.9, 'windGust': 2.52, 'windGustTime': 1579687260, 'windBearing': 14, 'cloudCover': 0.77, 'uvIndex': 4, 'uvIndexTime': 1579669440, 'visibility': 16.093, 'ozone': 303.1, 'temperatureMin': 7.64, 'temperatureMinTime': 1579646640, 'temperatureMax': 15.08, 'temperatureMaxTime': 1579680000, 'apparentTemperatureMin': 7.91, 'apparentTemperatureMinTime': 1579646640, 'apparentTemperatureMax': 14.8, 'apparentTemperatureMaxTime': 1579680000}]}, 'offset': 8}\n",
"row_index:2,col:1/22/20\n"
]
}
],
"source": [
"# Testing the routine to fetch and update temperature data\n",
"# With 3 rows and 1 column\n",
"for row_index, row in df_all.iterrows():\n",
" if row_index < 3:\n",
" for col in df_all.columns:\n",
" if df_all.columns.get_loc(col)==4:\n",
" d=col\n",
" print(col)\n",
" p='%m/%d/%y'\n",
" epoch = int(time.mktime(time.strptime(d,p)))\n",
" url = \"https://api.darksky.net/forecast/\"+os.environ.get('DARKSKY_API_KEY')+\"/\"+str(row[\"Lat\"])+\",\"+ str(row[\"Long\"])+\",\"+str(epoch)+\"?exclude=flags,currently,hourly&units=si\"\n",
" r = requests.get(url)\n",
" weather=r.json()\n",
" print(weather)\n",
" print(\"row_index:%s,col:%s\" %(row_index, col))\n",
" df_temperature_new.at[row_index,col]=weather[\"daily\"][\"data\"][0][\"temperatureHigh\"]"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>8.08</td>\n",
" <td>9.48</td>\n",
" <td>7.81</td>\n",
" <td>7.81</td>\n",
" <td>3.54</td>\n",
" <td>6.57</td>\n",
" <td>...</td>\n",
" <td>12.32</td>\n",
" <td>12.44</td>\n",
" <td>14.27</td>\n",
" <td>15.50</td>\n",
" <td>15.61</td>\n",
" <td>15.08</td>\n",
" <td>19.84</td>\n",
" <td>15.24</td>\n",
" <td>11.12</td>\n",
" <td>15.46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>6.18</td>\n",
" <td>8.64</td>\n",
" <td>3.69</td>\n",
" <td>4.98</td>\n",
" <td>4.64</td>\n",
" <td>5.51</td>\n",
" <td>...</td>\n",
" <td>11.10</td>\n",
" <td>11.91</td>\n",
" <td>8.99</td>\n",
" <td>9.45</td>\n",
" <td>12.53</td>\n",
" <td>13.84</td>\n",
" <td>17.27</td>\n",
" <td>9.83</td>\n",
" <td>13.88</td>\n",
" <td>13.48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>15.08</td>\n",
" <td>11.55</td>\n",
" <td>10.86</td>\n",
" <td>10.25</td>\n",
" <td>12.06</td>\n",
" <td>13.08</td>\n",
" <td>...</td>\n",
" <td>21.18</td>\n",
" <td>12.06</td>\n",
" <td>12.14</td>\n",
" <td>14.20</td>\n",
" <td>16.31</td>\n",
" <td>15.93</td>\n",
" <td>19.66</td>\n",
" <td>17.84</td>\n",
" <td>13.81</td>\n",
" <td>18.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>22.30</td>\n",
" <td>23.60</td>\n",
" <td>21.53</td>\n",
" <td>16.42</td>\n",
" <td>10.45</td>\n",
" <td>7.73</td>\n",
" <td>...</td>\n",
" <td>20.44</td>\n",
" <td>17.96</td>\n",
" <td>19.04</td>\n",
" <td>13.21</td>\n",
" <td>13.61</td>\n",
" <td>19.17</td>\n",
" <td>20.91</td>\n",
" <td>20.38</td>\n",
" <td>18.91</td>\n",
" <td>15.59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>6.07</td>\n",
" <td>2.79</td>\n",
" <td>3.77</td>\n",
" <td>4.91</td>\n",
" <td>4.60</td>\n",
" <td>5.02</td>\n",
" <td>...</td>\n",
" <td>11.46</td>\n",
" <td>11.67</td>\n",
" <td>13.66</td>\n",
" <td>16.37</td>\n",
" <td>14.86</td>\n",
" <td>15.47</td>\n",
" <td>19.38</td>\n",
" <td>8.85</td>\n",
" <td>7.49</td>\n",
" <td>13.43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>Dane, WI</td>\n",
" <td>US</td>\n",
" <td>43.0186</td>\n",
" <td>-89.5498</td>\n",
" <td>-5.06</td>\n",
" <td>-0.34</td>\n",
" <td>0.34</td>\n",
" <td>1.13</td>\n",
" <td>0.94</td>\n",
" <td>-0.56</td>\n",
" <td>...</td>\n",
" <td>0.94</td>\n",
" <td>10.05</td>\n",
" <td>4.57</td>\n",
" <td>5.57</td>\n",
" <td>5.53</td>\n",
" <td>6.19</td>\n",
" <td>3.39</td>\n",
" <td>10.00</td>\n",
" <td>15.62</td>\n",
" <td>9.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>Pierce, WI</td>\n",
" <td>US</td>\n",
" <td>44.7509</td>\n",
" <td>-92.3814</td>\n",
" <td>-8.02</td>\n",
" <td>1.14</td>\n",
" <td>-0.15</td>\n",
" <td>0.63</td>\n",
" <td>0.11</td>\n",
" <td>-2.47</td>\n",
" <td>...</td>\n",
" <td>0.99</td>\n",
" <td>6.54</td>\n",
" <td>1.49</td>\n",
" <td>4.15</td>\n",
" <td>3.07</td>\n",
" <td>3.24</td>\n",
" <td>1.45</td>\n",
" <td>8.46</td>\n",
" <td>12.29</td>\n",
" <td>3.66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>Cuyahoga, OH</td>\n",
" <td>US</td>\n",
" <td>41.4339</td>\n",
" <td>-81.6758</td>\n",
" <td>-2.21</td>\n",
" <td>1.64</td>\n",
" <td>6.02</td>\n",
" <td>7.49</td>\n",
" <td>5.03</td>\n",
" <td>2.64</td>\n",
" <td>...</td>\n",
" <td>-0.81</td>\n",
" <td>8.46</td>\n",
" <td>9.60</td>\n",
" <td>11.49</td>\n",
" <td>6.71</td>\n",
" <td>10.27</td>\n",
" <td>3.40</td>\n",
" <td>4.08</td>\n",
" <td>15.07</td>\n",
" <td>18.77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>Weber, UT</td>\n",
" <td>US</td>\n",
" <td>41.2603</td>\n",
" <td>-111.9522</td>\n",
" <td>6.07</td>\n",
" <td>4.86</td>\n",
" <td>6.61</td>\n",
" <td>3.49</td>\n",
" <td>5.19</td>\n",
" <td>6.19</td>\n",
" <td>...</td>\n",
" <td>14.09</td>\n",
" <td>4.05</td>\n",
" <td>4.60</td>\n",
" <td>7.08</td>\n",
" <td>12.93</td>\n",
" <td>17.58</td>\n",
" <td>19.36</td>\n",
" <td>17.25</td>\n",
" <td>12.23</td>\n",
" <td>11.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>Wilton, CT</td>\n",
" <td>US</td>\n",
" <td>41.1954</td>\n",
" <td>-73.4379</td>\n",
" <td>-0.49</td>\n",
" <td>2.79</td>\n",
" <td>6.34</td>\n",
" <td>9.32</td>\n",
" <td>7.76</td>\n",
" <td>7.60</td>\n",
" <td>...</td>\n",
" <td>1.41</td>\n",
" <td>5.12</td>\n",
" <td>13.01</td>\n",
" <td>13.37</td>\n",
" <td>12.25</td>\n",
" <td>11.02</td>\n",
" <td>7.68</td>\n",
" <td>7.29</td>\n",
" <td>13.91</td>\n",
" <td>20.51</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 8.08 9.48 \n",
"1 Beijing Mainland China 40.1824 116.4142 6.18 8.64 \n",
"2 Chongqing Mainland China 30.0572 107.8740 15.08 11.55 \n",
"3 Fujian Mainland China 26.0789 117.9874 22.30 23.60 \n",
"4 Gansu Mainland China 36.0611 103.8343 6.07 2.79 \n",
".. ... ... ... ... ... ... \n",
"342 Dane, WI US 43.0186 -89.5498 -5.06 -0.34 \n",
"343 Pierce, WI US 44.7509 -92.3814 -8.02 1.14 \n",
"344 Cuyahoga, OH US 41.4339 -81.6758 -2.21 1.64 \n",
"345 Weber, UT US 41.2603 -111.9522 6.07 4.86 \n",
"346 Wilton, CT US 41.1954 -73.4379 -0.49 2.79 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 7.81 7.81 3.54 6.57 ... 12.32 12.44 14.27 15.50 \n",
"1 3.69 4.98 4.64 5.51 ... 11.10 11.91 8.99 9.45 \n",
"2 10.86 10.25 12.06 13.08 ... 21.18 12.06 12.14 14.20 \n",
"3 21.53 16.42 10.45 7.73 ... 20.44 17.96 19.04 13.21 \n",
"4 3.77 4.91 4.60 5.02 ... 11.46 11.67 13.66 16.37 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.34 1.13 0.94 -0.56 ... 0.94 10.05 4.57 5.57 \n",
"343 -0.15 0.63 0.11 -2.47 ... 0.99 6.54 1.49 4.15 \n",
"344 6.02 7.49 5.03 2.64 ... -0.81 8.46 9.60 11.49 \n",
"345 6.61 3.49 5.19 6.19 ... 14.09 4.05 4.60 7.08 \n",
"346 6.34 9.32 7.76 7.60 ... 1.41 5.12 13.01 13.37 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 15.61 15.08 19.84 15.24 11.12 15.46 \n",
"1 12.53 13.84 17.27 9.83 13.88 13.48 \n",
"2 16.31 15.93 19.66 17.84 13.81 18.69 \n",
"3 13.61 19.17 20.91 20.38 18.91 15.59 \n",
"4 14.86 15.47 19.38 8.85 7.49 13.43 \n",
".. ... ... ... ... ... ... \n",
"342 5.53 6.19 3.39 10.00 15.62 9.52 \n",
"343 3.07 3.24 1.45 8.46 12.29 3.66 \n",
"344 6.71 10.27 3.40 4.08 15.07 18.77 \n",
"345 12.93 17.58 19.36 17.25 12.23 11.57 \n",
"346 12.25 11.02 7.68 7.29 13.91 20.51 \n",
"\n",
"[347 rows x 53 columns]"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking if the columns have temperature data\n",
"df_temperature_new"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"52"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking the index of the latest column as of March 11\n",
"df_all.columns.get_loc('3/10/20')"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"# Fetching weather data\n",
"# Changing all people data to temperature data\n",
"\n",
"def weather_data(row_index, row, col):\n",
" d=col\n",
" p='%m/%d/%y'\n",
" epoch = int(time.mktime(time.strptime(d,p)))\n",
" url = \"https://api.darksky.net/forecast/\"+os.environ.get('DARKSKY_API_KEY')+\"/\"+str(row[\"Lat\"])+\",\"+ str(row[\"Long\"])+\",\"+str(epoch)+\"?exclude=flags,currently,hourly&units=si\"\n",
" r = requests.get(url)\n",
" weather=r.json()\n",
" df_temperature_new.at[row_index,col]=weather[\"daily\"][\"data\"][0][\"temperatureHigh\"]\n",
" \n",
"for row_index, row in df_all.iterrows():\n",
" for col in df_all.columns: \n",
" if df_all.columns.get_loc(col)>3: # Using only date columns\n",
" weather_data(row_index, row, col)"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>8.08</td>\n",
" <td>9.48</td>\n",
" <td>7.81</td>\n",
" <td>7.81</td>\n",
" <td>3.54</td>\n",
" <td>6.57</td>\n",
" <td>...</td>\n",
" <td>12.32</td>\n",
" <td>12.44</td>\n",
" <td>14.27</td>\n",
" <td>15.50</td>\n",
" <td>15.61</td>\n",
" <td>15.08</td>\n",
" <td>19.84</td>\n",
" <td>15.24</td>\n",
" <td>11.12</td>\n",
" <td>15.46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>6.18</td>\n",
" <td>8.64</td>\n",
" <td>3.69</td>\n",
" <td>4.98</td>\n",
" <td>4.64</td>\n",
" <td>5.51</td>\n",
" <td>...</td>\n",
" <td>11.10</td>\n",
" <td>11.91</td>\n",
" <td>8.99</td>\n",
" <td>9.45</td>\n",
" <td>12.53</td>\n",
" <td>13.84</td>\n",
" <td>17.27</td>\n",
" <td>9.83</td>\n",
" <td>13.88</td>\n",
" <td>13.48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>15.08</td>\n",
" <td>11.55</td>\n",
" <td>10.86</td>\n",
" <td>10.25</td>\n",
" <td>12.06</td>\n",
" <td>13.08</td>\n",
" <td>...</td>\n",
" <td>21.18</td>\n",
" <td>12.06</td>\n",
" <td>12.14</td>\n",
" <td>14.20</td>\n",
" <td>16.31</td>\n",
" <td>15.93</td>\n",
" <td>19.66</td>\n",
" <td>17.84</td>\n",
" <td>13.81</td>\n",
" <td>18.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>22.30</td>\n",
" <td>23.60</td>\n",
" <td>21.53</td>\n",
" <td>16.42</td>\n",
" <td>10.45</td>\n",
" <td>7.73</td>\n",
" <td>...</td>\n",
" <td>20.44</td>\n",
" <td>17.96</td>\n",
" <td>19.04</td>\n",
" <td>13.21</td>\n",
" <td>13.61</td>\n",
" <td>19.17</td>\n",
" <td>20.91</td>\n",
" <td>20.38</td>\n",
" <td>18.91</td>\n",
" <td>15.59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>6.07</td>\n",
" <td>2.79</td>\n",
" <td>3.77</td>\n",
" <td>4.91</td>\n",
" <td>4.60</td>\n",
" <td>5.02</td>\n",
" <td>...</td>\n",
" <td>11.46</td>\n",
" <td>11.67</td>\n",
" <td>13.66</td>\n",
" <td>16.37</td>\n",
" <td>14.86</td>\n",
" <td>15.47</td>\n",
" <td>19.38</td>\n",
" <td>8.85</td>\n",
" <td>7.49</td>\n",
" <td>13.43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>Dane, WI</td>\n",
" <td>US</td>\n",
" <td>43.0186</td>\n",
" <td>-89.5498</td>\n",
" <td>-5.06</td>\n",
" <td>-0.34</td>\n",
" <td>0.34</td>\n",
" <td>1.13</td>\n",
" <td>0.94</td>\n",
" <td>-0.56</td>\n",
" <td>...</td>\n",
" <td>0.94</td>\n",
" <td>10.05</td>\n",
" <td>4.57</td>\n",
" <td>5.57</td>\n",
" <td>5.53</td>\n",
" <td>6.19</td>\n",
" <td>3.39</td>\n",
" <td>10.00</td>\n",
" <td>15.62</td>\n",
" <td>9.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>Pierce, WI</td>\n",
" <td>US</td>\n",
" <td>44.7509</td>\n",
" <td>-92.3814</td>\n",
" <td>-8.02</td>\n",
" <td>1.14</td>\n",
" <td>-0.15</td>\n",
" <td>0.63</td>\n",
" <td>0.11</td>\n",
" <td>-2.47</td>\n",
" <td>...</td>\n",
" <td>0.99</td>\n",
" <td>6.54</td>\n",
" <td>1.49</td>\n",
" <td>4.15</td>\n",
" <td>3.07</td>\n",
" <td>3.24</td>\n",
" <td>1.45</td>\n",
" <td>8.46</td>\n",
" <td>12.29</td>\n",
" <td>3.66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>Cuyahoga, OH</td>\n",
" <td>US</td>\n",
" <td>41.4339</td>\n",
" <td>-81.6758</td>\n",
" <td>-2.21</td>\n",
" <td>1.64</td>\n",
" <td>6.02</td>\n",
" <td>7.49</td>\n",
" <td>5.03</td>\n",
" <td>2.64</td>\n",
" <td>...</td>\n",
" <td>-0.81</td>\n",
" <td>8.46</td>\n",
" <td>9.60</td>\n",
" <td>11.49</td>\n",
" <td>6.71</td>\n",
" <td>10.27</td>\n",
" <td>3.40</td>\n",
" <td>4.08</td>\n",
" <td>15.07</td>\n",
" <td>18.77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>Weber, UT</td>\n",
" <td>US</td>\n",
" <td>41.2603</td>\n",
" <td>-111.9522</td>\n",
" <td>6.07</td>\n",
" <td>4.86</td>\n",
" <td>6.61</td>\n",
" <td>3.49</td>\n",
" <td>5.19</td>\n",
" <td>6.19</td>\n",
" <td>...</td>\n",
" <td>14.09</td>\n",
" <td>4.05</td>\n",
" <td>4.60</td>\n",
" <td>7.08</td>\n",
" <td>12.93</td>\n",
" <td>17.58</td>\n",
" <td>19.36</td>\n",
" <td>17.25</td>\n",
" <td>12.23</td>\n",
" <td>11.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>Wilton, CT</td>\n",
" <td>US</td>\n",
" <td>41.1954</td>\n",
" <td>-73.4379</td>\n",
" <td>-0.49</td>\n",
" <td>2.79</td>\n",
" <td>6.34</td>\n",
" <td>9.32</td>\n",
" <td>7.76</td>\n",
" <td>7.60</td>\n",
" <td>...</td>\n",
" <td>1.41</td>\n",
" <td>5.12</td>\n",
" <td>13.01</td>\n",
" <td>13.37</td>\n",
" <td>12.25</td>\n",
" <td>11.02</td>\n",
" <td>7.68</td>\n",
" <td>7.29</td>\n",
" <td>13.91</td>\n",
" <td>20.51</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows × 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 8.08 9.48 \n",
"1 Beijing Mainland China 40.1824 116.4142 6.18 8.64 \n",
"2 Chongqing Mainland China 30.0572 107.8740 15.08 11.55 \n",
"3 Fujian Mainland China 26.0789 117.9874 22.30 23.60 \n",
"4 Gansu Mainland China 36.0611 103.8343 6.07 2.79 \n",
".. ... ... ... ... ... ... \n",
"342 Dane, WI US 43.0186 -89.5498 -5.06 -0.34 \n",
"343 Pierce, WI US 44.7509 -92.3814 -8.02 1.14 \n",
"344 Cuyahoga, OH US 41.4339 -81.6758 -2.21 1.64 \n",
"345 Weber, UT US 41.2603 -111.9522 6.07 4.86 \n",
"346 Wilton, CT US 41.1954 -73.4379 -0.49 2.79 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 7.81 7.81 3.54 6.57 ... 12.32 12.44 14.27 15.50 \n",
"1 3.69 4.98 4.64 5.51 ... 11.10 11.91 8.99 9.45 \n",
"2 10.86 10.25 12.06 13.08 ... 21.18 12.06 12.14 14.20 \n",
"3 21.53 16.42 10.45 7.73 ... 20.44 17.96 19.04 13.21 \n",
"4 3.77 4.91 4.60 5.02 ... 11.46 11.67 13.66 16.37 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.34 1.13 0.94 -0.56 ... 0.94 10.05 4.57 5.57 \n",
"343 -0.15 0.63 0.11 -2.47 ... 0.99 6.54 1.49 4.15 \n",
"344 6.02 7.49 5.03 2.64 ... -0.81 8.46 9.60 11.49 \n",
"345 6.61 3.49 5.19 6.19 ... 14.09 4.05 4.60 7.08 \n",
"346 6.34 9.32 7.76 7.60 ... 1.41 5.12 13.01 13.37 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 15.61 15.08 19.84 15.24 11.12 15.46 \n",
"1 12.53 13.84 17.27 9.83 13.88 13.48 \n",
"2 16.31 15.93 19.66 17.84 13.81 18.69 \n",
"3 13.61 19.17 20.91 20.38 18.91 15.59 \n",
"4 14.86 15.47 19.38 8.85 7.49 13.43 \n",
".. ... ... ... ... ... ... \n",
"342 5.53 6.19 3.39 10.00 15.62 9.52 \n",
"343 3.07 3.24 1.45 8.46 12.29 3.66 \n",
"344 6.71 10.27 3.40 4.08 15.07 18.77 \n",
"345 12.93 17.58 19.36 17.25 12.23 11.57 \n",
"346 12.25 11.02 7.68 7.29 13.91 20.51 \n",
"\n",
"[347 rows x 53 columns]"
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_temperature_new"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"# Saving the dataframe with temperature to csv\n",
"df_temperature_new.to_csv(f'{PATH}time_series_19-covid-Confirmed-temperature.csv',index=False)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"# Saving the dataframe to the local storage\n",
"df_temperature_new.to_feather('tmp/COVID19_temperature')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Validating temperature data of a country"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>NaN</td>\n",
" <td>India</td>\n",
" <td>21.0</td>\n",
" <td>78.0</td>\n",
" <td>30.6</td>\n",
" <td>29.96</td>\n",
" <td>29.85</td>\n",
" <td>30.01</td>\n",
" <td>31.04</td>\n",
" <td>30.31</td>\n",
" <td>...</td>\n",
" <td>34.42</td>\n",
" <td>33.16</td>\n",
" <td>34.68</td>\n",
" <td>33.51</td>\n",
" <td>33.06</td>\n",
" <td>33.64</td>\n",
" <td>33.44</td>\n",
" <td>34.58</td>\n",
" <td>32.49</td>\n",
" <td>32.98</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1 rows × 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n",
"50 NaN India 21.0 78.0 30.6 29.96 29.85 \n",
"\n",
" 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 \\\n",
"50 30.01 31.04 30.31 ... 34.42 33.16 34.68 33.51 33.06 \n",
"\n",
" 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"50 33.64 33.44 34.58 32.49 32.98 \n",
"\n",
"[1 rows x 53 columns]"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_temperature_new.loc[df_temperature_new['Country/Region']=='India']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Analysing the data"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2020-03-12 06:59:24,956\tWARNING services.py:586 -- setpgrp failed, processes may not be cleaned up properly: [Errno 1] Operation not permitted.\n",
"2020-03-12 06:59:24,964\tINFO resource_spec.py:212 -- Starting Ray with 1.86 GiB memory available for workers and up to 0.94 GiB for objects. You can adjust these settings with ray.init(memory=<bytes>, object_store_memory=<bytes>).\n",
"2020-03-12 06:59:25,642\tINFO services.py:1078 -- View the Ray dashboard at \u001b[1m\u001b[32mlocalhost:8265\u001b[39m\u001b[22m\n"
]
}
],
"source": [
"# Using all CPU cores for pandas, since I'm on ARM\n",
"import os\n",
"\n",
"os.environ[\"MODIN_ENGINE\"] = \"ray\" # Modin will use Ray\n",
"import ray\n",
"ray.init()\n",
"\n",
"import modin.pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"df_infected= pd.read_csv(f'{PATH}time_series_19-covid-Confirmed-difference.csv')\n",
"df_highest_temperature= pd.read_csv(f'{PATH}time_series_19-covid-Confirmed-temperature.csv')\n"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>1</td>\n",
" <td>8.0</td>\n",
" <td>6.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>10.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>14</td>\n",
" <td>8.0</td>\n",
" <td>14.0</td>\n",
" <td>5.0</td>\n",
" <td>27.0</td>\n",
" <td>12.0</td>\n",
" <td>...</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>6</td>\n",
" <td>3.0</td>\n",
" <td>18.0</td>\n",
" <td>30.0</td>\n",
" <td>18.0</td>\n",
" <td>35.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>1</td>\n",
" <td>4.0</td>\n",
" <td>5.0</td>\n",
" <td>8.0</td>\n",
" <td>17.0</td>\n",
" <td>24.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>7.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>11.0</td>\n",
" <td>17.0</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows x 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 1 8.0 \n",
"1 Beijing Mainland China 40.1824 116.4142 14 8.0 \n",
"2 Chongqing Mainland China 30.0572 107.8740 6 3.0 \n",
"3 Fujian Mainland China 26.0789 117.9874 1 4.0 \n",
"4 Gansu Mainland China 36.0611 103.8343 0 2.0 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 6.0 24.0 21.0 10.0 ... 0.0 0.0 0.0 0.0 \n",
"1 14.0 5.0 27.0 12.0 ... 2.0 1.0 0.0 4.0 \n",
"2 18.0 30.0 18.0 35.0 ... 0.0 0.0 0.0 0.0 \n",
"3 5.0 8.0 17.0 24.0 ... 0.0 0.0 0.0 0.0 \n",
"4 0.0 2.0 3.0 7.0 ... 0.0 0.0 0.0 0.0 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 0.0 4.0 4.0 2.0 0.0 1.0 \n",
"2 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 11.0 17.0 1.0 4.0 0.0 1.0 \n",
"\n",
"[5 rows x 53 columns]"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_infected.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>8.08</td>\n",
" <td>9.48</td>\n",
" <td>7.81</td>\n",
" <td>7.81</td>\n",
" <td>3.54</td>\n",
" <td>6.57</td>\n",
" <td>...</td>\n",
" <td>12.32</td>\n",
" <td>12.44</td>\n",
" <td>14.27</td>\n",
" <td>15.50</td>\n",
" <td>15.61</td>\n",
" <td>15.08</td>\n",
" <td>19.84</td>\n",
" <td>15.24</td>\n",
" <td>11.12</td>\n",
" <td>15.46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>6.18</td>\n",
" <td>8.64</td>\n",
" <td>3.69</td>\n",
" <td>4.98</td>\n",
" <td>4.64</td>\n",
" <td>5.51</td>\n",
" <td>...</td>\n",
" <td>11.10</td>\n",
" <td>11.91</td>\n",
" <td>8.99</td>\n",
" <td>9.45</td>\n",
" <td>12.53</td>\n",
" <td>13.84</td>\n",
" <td>17.27</td>\n",
" <td>9.83</td>\n",
" <td>13.88</td>\n",
" <td>13.48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>15.08</td>\n",
" <td>11.55</td>\n",
" <td>10.86</td>\n",
" <td>10.25</td>\n",
" <td>12.06</td>\n",
" <td>13.08</td>\n",
" <td>...</td>\n",
" <td>21.18</td>\n",
" <td>12.06</td>\n",
" <td>12.14</td>\n",
" <td>14.20</td>\n",
" <td>16.31</td>\n",
" <td>15.93</td>\n",
" <td>19.66</td>\n",
" <td>17.84</td>\n",
" <td>13.81</td>\n",
" <td>18.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>22.30</td>\n",
" <td>23.60</td>\n",
" <td>21.53</td>\n",
" <td>16.42</td>\n",
" <td>10.45</td>\n",
" <td>7.73</td>\n",
" <td>...</td>\n",
" <td>20.44</td>\n",
" <td>17.96</td>\n",
" <td>19.04</td>\n",
" <td>13.21</td>\n",
" <td>13.61</td>\n",
" <td>19.17</td>\n",
" <td>20.91</td>\n",
" <td>20.38</td>\n",
" <td>18.91</td>\n",
" <td>15.59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>6.07</td>\n",
" <td>2.79</td>\n",
" <td>3.77</td>\n",
" <td>4.91</td>\n",
" <td>4.60</td>\n",
" <td>5.02</td>\n",
" <td>...</td>\n",
" <td>11.46</td>\n",
" <td>11.67</td>\n",
" <td>13.66</td>\n",
" <td>16.37</td>\n",
" <td>14.86</td>\n",
" <td>15.47</td>\n",
" <td>19.38</td>\n",
" <td>8.85</td>\n",
" <td>7.49</td>\n",
" <td>13.43</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows x 53 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"0 Anhui Mainland China 31.8257 117.2264 8.08 9.48 \n",
"1 Beijing Mainland China 40.1824 116.4142 6.18 8.64 \n",
"2 Chongqing Mainland China 30.0572 107.8740 15.08 11.55 \n",
"3 Fujian Mainland China 26.0789 117.9874 22.30 23.60 \n",
"4 Gansu Mainland China 36.0611 103.8343 6.07 2.79 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 \\\n",
"0 7.81 7.81 3.54 6.57 ... 12.32 12.44 14.27 15.50 \n",
"1 3.69 4.98 4.64 5.51 ... 11.10 11.91 8.99 9.45 \n",
"2 10.86 10.25 12.06 13.08 ... 21.18 12.06 12.14 14.20 \n",
"3 21.53 16.42 10.45 7.73 ... 20.44 17.96 19.04 13.21 \n",
"4 3.77 4.91 4.60 5.02 ... 11.46 11.67 13.66 16.37 \n",
"\n",
" 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 15.61 15.08 19.84 15.24 11.12 15.46 \n",
"1 12.53 13.84 17.27 9.83 13.88 13.48 \n",
"2 16.31 15.93 19.66 17.84 13.81 18.69 \n",
"3 13.61 19.17 20.91 20.38 18.91 15.59 \n",
"4 14.86 15.47 19.38 8.85 7.49 13.43 \n",
"\n",
"[5 rows x 53 columns]"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_highest_temperature.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Anhui</td>\n",
" <td>Mainland China</td>\n",
" <td>31.8257</td>\n",
" <td>117.2264</td>\n",
" <td>8.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Beijing</td>\n",
" <td>Mainland China</td>\n",
" <td>40.1824</td>\n",
" <td>116.4142</td>\n",
" <td>6.18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Chongqing</td>\n",
" <td>Mainland China</td>\n",
" <td>30.0572</td>\n",
" <td>107.8740</td>\n",
" <td>15.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Fujian</td>\n",
" <td>Mainland China</td>\n",
" <td>26.0789</td>\n",
" <td>117.9874</td>\n",
" <td>22.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Gansu</td>\n",
" <td>Mainland China</td>\n",
" <td>36.0611</td>\n",
" <td>103.8343</td>\n",
" <td>6.07</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20\n",
"0 Anhui Mainland China 31.8257 117.2264 8.08\n",
"1 Beijing Mainland China 40.1824 116.4142 6.18\n",
"2 Chongqing Mainland China 30.0572 107.8740 15.08\n",
"3 Fujian Mainland China 26.0789 117.9874 22.30\n",
"4 Gansu Mainland China 36.0611 103.8343 6.07"
]
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Checking high temperature for 1/22/20\n",
"df_highest_temperature.iloc[: 5, : 5]"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"scrolled": true
},
"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>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>8.0</td>\n",
" <td>6.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>10.0</td>\n",
" <td>36.0</td>\n",
" <td>46.0</td>\n",
" <td>48.0</td>\n",
" <td>37.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>14</td>\n",
" <td>8.0</td>\n",
" <td>14.0</td>\n",
" <td>5.0</td>\n",
" <td>27.0</td>\n",
" <td>12.0</td>\n",
" <td>11.0</td>\n",
" <td>20.0</td>\n",
" <td>3.0</td>\n",
" <td>25.0</td>\n",
" <td>...</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>6</td>\n",
" <td>3.0</td>\n",
" <td>18.0</td>\n",
" <td>30.0</td>\n",
" <td>18.0</td>\n",
" <td>35.0</td>\n",
" <td>22.0</td>\n",
" <td>15.0</td>\n",
" <td>35.0</td>\n",
" <td>29.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>4.0</td>\n",
" <td>5.0</td>\n",
" <td>8.0</td>\n",
" <td>17.0</td>\n",
" <td>24.0</td>\n",
" <td>21.0</td>\n",
" <td>4.0</td>\n",
" <td>17.0</td>\n",
" <td>19.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>7.0</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>2.0</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>11.0</td>\n",
" <td>17.0</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows x 49 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 \\\n",
"0 1 8.0 6.0 24.0 21.0 10.0 36.0 46.0 \n",
"1 14 8.0 14.0 5.0 27.0 12.0 11.0 20.0 \n",
"2 6 3.0 18.0 30.0 18.0 35.0 22.0 15.0 \n",
"3 1 4.0 5.0 8.0 17.0 24.0 21.0 4.0 \n",
"4 0 2.0 0.0 2.0 3.0 7.0 5.0 5.0 \n",
".. ... ... ... ... ... ... ... ... \n",
"342 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"343 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"344 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"345 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"346 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 1/30/20 1/31/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 \\\n",
"0 48.0 37.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 3.0 25.0 ... 2.0 1.0 0.0 4.0 0.0 4.0 \n",
"2 35.0 29.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 17.0 19.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 2.0 3.0 ... 0.0 0.0 0.0 0.0 11.0 17.0 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"343 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"344 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"345 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"346 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 0.0 0.0 0.0 0.0 \n",
"1 4.0 2.0 0.0 1.0 \n",
"2 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 \n",
"4 1.0 4.0 0.0 1.0 \n",
".. ... ... ... ... \n",
"342 0.0 0.0 0.0 2.0 \n",
"343 0.0 0.0 0.0 1.0 \n",
"344 0.0 0.0 0.0 3.0 \n",
"345 0.0 0.0 0.0 1.0 \n",
"346 0.0 0.0 0.0 1.0 \n",
"\n",
"[347 rows x 49 columns]"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Drop unnecessary columns in the infected dataframe\n",
"df_infected.drop(['Province/State','Country/Region','Lat','Long'],axis=1,inplace=True)\n",
"df_infected"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"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>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>8.08</td>\n",
" <td>9.48</td>\n",
" <td>7.81</td>\n",
" <td>7.81</td>\n",
" <td>3.54</td>\n",
" <td>6.57</td>\n",
" <td>9.17</td>\n",
" <td>11.08</td>\n",
" <td>10.60</td>\n",
" <td>12.63</td>\n",
" <td>...</td>\n",
" <td>12.32</td>\n",
" <td>12.44</td>\n",
" <td>14.27</td>\n",
" <td>15.50</td>\n",
" <td>15.61</td>\n",
" <td>15.08</td>\n",
" <td>19.84</td>\n",
" <td>15.24</td>\n",
" <td>11.12</td>\n",
" <td>15.46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>6.18</td>\n",
" <td>8.64</td>\n",
" <td>3.69</td>\n",
" <td>4.98</td>\n",
" <td>4.64</td>\n",
" <td>5.51</td>\n",
" <td>8.30</td>\n",
" <td>9.24</td>\n",
" <td>7.82</td>\n",
" <td>10.72</td>\n",
" <td>...</td>\n",
" <td>11.10</td>\n",
" <td>11.91</td>\n",
" <td>8.99</td>\n",
" <td>9.45</td>\n",
" <td>12.53</td>\n",
" <td>13.84</td>\n",
" <td>17.27</td>\n",
" <td>9.83</td>\n",
" <td>13.88</td>\n",
" <td>13.48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>15.08</td>\n",
" <td>11.55</td>\n",
" <td>10.86</td>\n",
" <td>10.25</td>\n",
" <td>12.06</td>\n",
" <td>13.08</td>\n",
" <td>13.91</td>\n",
" <td>14.61</td>\n",
" <td>16.34</td>\n",
" <td>13.33</td>\n",
" <td>...</td>\n",
" <td>21.18</td>\n",
" <td>12.06</td>\n",
" <td>12.14</td>\n",
" <td>14.20</td>\n",
" <td>16.31</td>\n",
" <td>15.93</td>\n",
" <td>19.66</td>\n",
" <td>17.84</td>\n",
" <td>13.81</td>\n",
" <td>18.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>22.30</td>\n",
" <td>23.60</td>\n",
" <td>21.53</td>\n",
" <td>16.42</td>\n",
" <td>10.45</td>\n",
" <td>7.73</td>\n",
" <td>8.83</td>\n",
" <td>9.33</td>\n",
" <td>9.83</td>\n",
" <td>13.26</td>\n",
" <td>...</td>\n",
" <td>20.44</td>\n",
" <td>17.96</td>\n",
" <td>19.04</td>\n",
" <td>13.21</td>\n",
" <td>13.61</td>\n",
" <td>19.17</td>\n",
" <td>20.91</td>\n",
" <td>20.38</td>\n",
" <td>18.91</td>\n",
" <td>15.59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>6.07</td>\n",
" <td>2.79</td>\n",
" <td>3.77</td>\n",
" <td>4.91</td>\n",
" <td>4.60</td>\n",
" <td>5.02</td>\n",
" <td>6.00</td>\n",
" <td>7.80</td>\n",
" <td>7.00</td>\n",
" <td>7.15</td>\n",
" <td>...</td>\n",
" <td>11.46</td>\n",
" <td>11.67</td>\n",
" <td>13.66</td>\n",
" <td>16.37</td>\n",
" <td>14.86</td>\n",
" <td>15.47</td>\n",
" <td>19.38</td>\n",
" <td>8.85</td>\n",
" <td>7.49</td>\n",
" <td>13.43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>-5.06</td>\n",
" <td>-0.34</td>\n",
" <td>0.34</td>\n",
" <td>1.13</td>\n",
" <td>0.94</td>\n",
" <td>-0.56</td>\n",
" <td>0.64</td>\n",
" <td>-1.50</td>\n",
" <td>-2.05</td>\n",
" <td>-0.68</td>\n",
" <td>...</td>\n",
" <td>0.94</td>\n",
" <td>10.05</td>\n",
" <td>4.57</td>\n",
" <td>5.57</td>\n",
" <td>5.53</td>\n",
" <td>6.19</td>\n",
" <td>3.39</td>\n",
" <td>10.00</td>\n",
" <td>15.62</td>\n",
" <td>9.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>-8.02</td>\n",
" <td>1.14</td>\n",
" <td>-0.15</td>\n",
" <td>0.63</td>\n",
" <td>0.11</td>\n",
" <td>-2.47</td>\n",
" <td>-1.75</td>\n",
" <td>-5.54</td>\n",
" <td>-4.77</td>\n",
" <td>-3.71</td>\n",
" <td>...</td>\n",
" <td>0.99</td>\n",
" <td>6.54</td>\n",
" <td>1.49</td>\n",
" <td>4.15</td>\n",
" <td>3.07</td>\n",
" <td>3.24</td>\n",
" <td>1.45</td>\n",
" <td>8.46</td>\n",
" <td>12.29</td>\n",
" <td>3.66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>-2.21</td>\n",
" <td>1.64</td>\n",
" <td>6.02</td>\n",
" <td>7.49</td>\n",
" <td>5.03</td>\n",
" <td>2.64</td>\n",
" <td>1.96</td>\n",
" <td>1.76</td>\n",
" <td>0.94</td>\n",
" <td>0.68</td>\n",
" <td>...</td>\n",
" <td>-0.81</td>\n",
" <td>8.46</td>\n",
" <td>9.60</td>\n",
" <td>11.49</td>\n",
" <td>6.71</td>\n",
" <td>10.27</td>\n",
" <td>3.40</td>\n",
" <td>4.08</td>\n",
" <td>15.07</td>\n",
" <td>18.77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>6.07</td>\n",
" <td>4.86</td>\n",
" <td>6.61</td>\n",
" <td>3.49</td>\n",
" <td>5.19</td>\n",
" <td>6.19</td>\n",
" <td>4.87</td>\n",
" <td>5.79</td>\n",
" <td>4.74</td>\n",
" <td>3.49</td>\n",
" <td>...</td>\n",
" <td>14.09</td>\n",
" <td>4.05</td>\n",
" <td>4.60</td>\n",
" <td>7.08</td>\n",
" <td>12.93</td>\n",
" <td>17.58</td>\n",
" <td>19.36</td>\n",
" <td>17.25</td>\n",
" <td>12.23</td>\n",
" <td>11.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>-0.49</td>\n",
" <td>2.79</td>\n",
" <td>6.34</td>\n",
" <td>9.32</td>\n",
" <td>7.76</td>\n",
" <td>7.60</td>\n",
" <td>6.52</td>\n",
" <td>5.37</td>\n",
" <td>3.97</td>\n",
" <td>2.11</td>\n",
" <td>...</td>\n",
" <td>1.41</td>\n",
" <td>5.12</td>\n",
" <td>13.01</td>\n",
" <td>13.37</td>\n",
" <td>12.25</td>\n",
" <td>11.02</td>\n",
" <td>7.68</td>\n",
" <td>7.29</td>\n",
" <td>13.91</td>\n",
" <td>20.51</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>347 rows x 49 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 \\\n",
"0 8.08 9.48 7.81 7.81 3.54 6.57 9.17 11.08 \n",
"1 6.18 8.64 3.69 4.98 4.64 5.51 8.30 9.24 \n",
"2 15.08 11.55 10.86 10.25 12.06 13.08 13.91 14.61 \n",
"3 22.30 23.60 21.53 16.42 10.45 7.73 8.83 9.33 \n",
"4 6.07 2.79 3.77 4.91 4.60 5.02 6.00 7.80 \n",
".. ... ... ... ... ... ... ... ... \n",
"342 -5.06 -0.34 0.34 1.13 0.94 -0.56 0.64 -1.50 \n",
"343 -8.02 1.14 -0.15 0.63 0.11 -2.47 -1.75 -5.54 \n",
"344 -2.21 1.64 6.02 7.49 5.03 2.64 1.96 1.76 \n",
"345 6.07 4.86 6.61 3.49 5.19 6.19 4.87 5.79 \n",
"346 -0.49 2.79 6.34 9.32 7.76 7.60 6.52 5.37 \n",
"\n",
" 1/30/20 1/31/20 ... 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 \\\n",
"0 10.60 12.63 ... 12.32 12.44 14.27 15.50 15.61 15.08 \n",
"1 7.82 10.72 ... 11.10 11.91 8.99 9.45 12.53 13.84 \n",
"2 16.34 13.33 ... 21.18 12.06 12.14 14.20 16.31 15.93 \n",
"3 9.83 13.26 ... 20.44 17.96 19.04 13.21 13.61 19.17 \n",
"4 7.00 7.15 ... 11.46 11.67 13.66 16.37 14.86 15.47 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"342 -2.05 -0.68 ... 0.94 10.05 4.57 5.57 5.53 6.19 \n",
"343 -4.77 -3.71 ... 0.99 6.54 1.49 4.15 3.07 3.24 \n",
"344 0.94 0.68 ... -0.81 8.46 9.60 11.49 6.71 10.27 \n",
"345 4.74 3.49 ... 14.09 4.05 4.60 7.08 12.93 17.58 \n",
"346 3.97 2.11 ... 1.41 5.12 13.01 13.37 12.25 11.02 \n",
"\n",
" 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"0 19.84 15.24 11.12 15.46 \n",
"1 17.27 9.83 13.88 13.48 \n",
"2 19.66 17.84 13.81 18.69 \n",
"3 20.91 20.38 18.91 15.59 \n",
"4 19.38 8.85 7.49 13.43 \n",
".. ... ... ... ... \n",
"342 3.39 10.00 15.62 9.52 \n",
"343 1.45 8.46 12.29 3.66 \n",
"344 3.40 4.08 15.07 18.77 \n",
"345 19.36 17.25 12.23 11.57 \n",
"346 7.68 7.29 13.91 20.51 \n",
"\n",
"[347 rows x 49 columns]"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Drop unnecessary columns in the temperature dataframe\n",
"df_highest_temperature.drop(['Province/State','Country/Region','Lat','Long'],axis=1,inplace=True)\n",
"df_highest_temperature"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"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>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>...</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1.599424</td>\n",
" <td>0.282421</td>\n",
" <td>0.829971</td>\n",
" <td>1.420749</td>\n",
" <td>1.971182</td>\n",
" <td>2.331412</td>\n",
" <td>7.639769</td>\n",
" <td>1.694524</td>\n",
" <td>5.959654</td>\n",
" <td>4.878963</td>\n",
" <td>...</td>\n",
" <td>6.795389</td>\n",
" <td>5.582133</td>\n",
" <td>7.302594</td>\n",
" <td>6.570605</td>\n",
" <td>7.959654</td>\n",
" <td>11.259366</td>\n",
" <td>11.622478</td>\n",
" <td>11.449568</td>\n",
" <td>10.855908</td>\n",
" <td>16.544669</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>23.889880</td>\n",
" <td>1.360384</td>\n",
" <td>6.125133</td>\n",
" <td>11.880008</td>\n",
" <td>16.691325</td>\n",
" <td>20.292150</td>\n",
" <td>114.498933</td>\n",
" <td>9.801442</td>\n",
" <td>73.123647</td>\n",
" <td>49.552825</td>\n",
" <td>...</td>\n",
" <td>57.064371</td>\n",
" <td>47.596947</td>\n",
" <td>68.802541</td>\n",
" <td>50.889346</td>\n",
" <td>59.481027</td>\n",
" <td>85.205136</td>\n",
" <td>93.264952</td>\n",
" <td>92.405238</td>\n",
" <td>104.419574</td>\n",
" <td>88.023415</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>...</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>-10.000000</td>\n",
" <td>-5.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-2.000000</td>\n",
" <td>-1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>444.000000</td>\n",
" <td>17.000000</td>\n",
" <td>105.000000</td>\n",
" <td>212.000000</td>\n",
" <td>297.000000</td>\n",
" <td>365.000000</td>\n",
" <td>2131.000000</td>\n",
" <td>123.000000</td>\n",
" <td>1349.000000</td>\n",
" <td>903.000000</td>\n",
" <td>...</td>\n",
" <td>586.000000</td>\n",
" <td>599.000000</td>\n",
" <td>851.000000</td>\n",
" <td>587.000000</td>\n",
" <td>769.000000</td>\n",
" <td>1234.000000</td>\n",
" <td>1247.000000</td>\n",
" <td>1492.000000</td>\n",
" <td>1797.000000</td>\n",
" <td>977.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8 rows x 49 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 \\\n",
"count 347.000000 347.000000 347.000000 347.000000 347.000000 347.000000 \n",
"mean 1.599424 0.282421 0.829971 1.420749 1.971182 2.331412 \n",
"std 23.889880 1.360384 6.125133 11.880008 16.691325 20.292150 \n",
"min 0.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25% 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"50% 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"75% 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"max 444.000000 17.000000 105.000000 212.000000 297.000000 365.000000 \n",
"\n",
" 1/28/20 1/29/20 1/30/20 1/31/20 ... 3/1/20 \\\n",
"count 347.000000 347.000000 347.000000 347.000000 ... 347.000000 \n",
"mean 7.639769 1.694524 5.959654 4.878963 ... 6.795389 \n",
"std 114.498933 9.801442 73.123647 49.552825 ... 57.064371 \n",
"min 0.000000 0.000000 0.000000 -1.000000 ... 0.000000 \n",
"25% 0.000000 0.000000 0.000000 0.000000 ... 0.000000 \n",
"50% 0.000000 0.000000 0.000000 0.000000 ... 0.000000 \n",
"75% 0.000000 0.000000 0.000000 0.000000 ... 0.000000 \n",
"max 2131.000000 123.000000 1349.000000 903.000000 ... 586.000000 \n",
"\n",
" 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 \\\n",
"count 347.000000 347.000000 347.000000 347.000000 347.000000 \n",
"mean 5.582133 7.302594 6.570605 7.959654 11.259366 \n",
"std 47.596947 68.802541 50.889346 59.481027 85.205136 \n",
"min 0.000000 0.000000 0.000000 0.000000 -10.000000 \n",
"25% 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"50% 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"75% 0.000000 0.000000 0.000000 0.000000 1.000000 \n",
"max 599.000000 851.000000 587.000000 769.000000 1234.000000 \n",
"\n",
" 3/7/20 3/8/20 3/9/20 3/10/20 \n",
"count 347.000000 347.000000 347.000000 347.000000 \n",
"mean 11.622478 11.449568 10.855908 16.544669 \n",
"std 93.264952 92.405238 104.419574 88.023415 \n",
"min -5.000000 -1.000000 -2.000000 -1.000000 \n",
"25% 0.000000 0.000000 0.000000 0.000000 \n",
"50% 0.000000 0.000000 0.000000 1.000000 \n",
"75% 0.000000 1.000000 0.000000 4.000000 \n",
"max 1247.000000 1492.000000 1797.000000 977.000000 \n",
"\n",
"[8 rows x 49 columns]"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Describing the newly infected cases data\n",
"df_infected.describe()"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"7.016585308474975"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculating Grand Mean from the Mean of newly reported COVID-19 cases\n",
"import statistics\n",
"statistics.mean(df_infected.mean(axis=1))"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"207.12244897959184"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculating Mean of infected in Italy\n",
"df_infected.iloc[51].mean()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"153.3265306122449"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculating Mean of infected in South Korea\n",
"df_infected.iloc[242].mean()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"164.12244897959184"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculating Mean of infected in Iran\n",
"df_infected.iloc[241].mean()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"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>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>1/28/20</th>\n",
" <th>1/29/20</th>\n",
" <th>1/30/20</th>\n",
" <th>1/31/20</th>\n",
" <th>...</th>\n",
" <th>3/1/20</th>\n",
" <th>3/2/20</th>\n",
" <th>3/3/20</th>\n",
" <th>3/4/20</th>\n",
" <th>3/5/20</th>\n",
" <th>3/6/20</th>\n",
" <th>3/7/20</th>\n",
" <th>3/8/20</th>\n",
" <th>3/9/20</th>\n",
" <th>3/10/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>...</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" <td>347.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>8.663372</td>\n",
" <td>9.967089</td>\n",
" <td>10.949280</td>\n",
" <td>11.713372</td>\n",
" <td>11.187378</td>\n",
" <td>11.202853</td>\n",
" <td>11.263977</td>\n",
" <td>10.875764</td>\n",
" <td>10.599625</td>\n",
" <td>10.832190</td>\n",
" <td>...</td>\n",
" <td>12.542968</td>\n",
" <td>13.613689</td>\n",
" <td>15.129280</td>\n",
" <td>16.204726</td>\n",
" <td>15.701326</td>\n",
" <td>15.681037</td>\n",
" <td>14.344438</td>\n",
" <td>14.314035</td>\n",
" <td>15.981412</td>\n",
" <td>17.329683</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>10.847302</td>\n",
" <td>9.854756</td>\n",
" <td>9.774945</td>\n",
" <td>9.691690</td>\n",
" <td>9.638878</td>\n",
" <td>9.307154</td>\n",
" <td>9.568492</td>\n",
" <td>10.227953</td>\n",
" <td>10.208855</td>\n",
" <td>10.467075</td>\n",
" <td>...</td>\n",
" <td>10.741210</td>\n",
" <td>9.830377</td>\n",
" <td>9.193625</td>\n",
" <td>9.035593</td>\n",
" <td>9.047492</td>\n",
" <td>9.014883</td>\n",
" <td>9.537341</td>\n",
" <td>9.251479</td>\n",
" <td>8.838364</td>\n",
" <td>9.000071</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-22.680000</td>\n",
" <td>-21.010000</td>\n",
" <td>-24.170000</td>\n",
" <td>-21.920000</td>\n",
" <td>-25.960000</td>\n",
" <td>-26.690000</td>\n",
" <td>-18.620000</td>\n",
" <td>-23.340000</td>\n",
" <td>-18.520000</td>\n",
" <td>-21.170000</td>\n",
" <td>...</td>\n",
" <td>-16.160000</td>\n",
" <td>-11.520000</td>\n",
" <td>-17.080000</td>\n",
" <td>-23.180000</td>\n",
" <td>-22.970000</td>\n",
" <td>-15.230000</td>\n",
" <td>-15.880000</td>\n",
" <td>-12.560000</td>\n",
" <td>-21.100000</td>\n",
" <td>-17.530000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>1.490000</td>\n",
" <td>3.090000</td>\n",
" <td>5.075000</td>\n",
" <td>5.495000</td>\n",
" <td>4.600000</td>\n",
" <td>5.420000</td>\n",
" <td>5.465000</td>\n",
" <td>4.115000</td>\n",
" <td>4.050000</td>\n",
" <td>2.960000</td>\n",
" <td>...</td>\n",
" <td>2.845000</td>\n",
" <td>7.130000</td>\n",
" <td>9.455000</td>\n",
" <td>10.865000</td>\n",
" <td>10.135000</td>\n",
" <td>10.860000</td>\n",
" <td>7.595000</td>\n",
" <td>8.245000</td>\n",
" <td>10.945000</td>\n",
" <td>11.435000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>6.290000</td>\n",
" <td>7.690000</td>\n",
" <td>8.630000</td>\n",
" <td>10.430000</td>\n",
" <td>9.640000</td>\n",
" <td>9.380000</td>\n",
" <td>9.490000</td>\n",
" <td>9.190000</td>\n",
" <td>8.890000</td>\n",
" <td>9.580000</td>\n",
" <td>...</td>\n",
" <td>12.160000</td>\n",
" <td>12.720000</td>\n",
" <td>14.560000</td>\n",
" <td>15.990000</td>\n",
" <td>15.120000</td>\n",
" <td>13.850000</td>\n",
" <td>13.050000</td>\n",
" <td>12.920000</td>\n",
" <td>16.100000</td>\n",
" <td>18.700000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>14.375000</td>\n",
" <td>14.700000</td>\n",
" <td>15.885000</td>\n",
" <td>17.595000</td>\n",
" <td>16.270000</td>\n",
" <td>15.745000</td>\n",
" <td>16.225000</td>\n",
" <td>16.850000</td>\n",
" <td>16.355000</td>\n",
" <td>17.460000</td>\n",
" <td>...</td>\n",
" <td>20.160000</td>\n",
" <td>19.685000</td>\n",
" <td>21.175000</td>\n",
" <td>21.530000</td>\n",
" <td>21.200000</td>\n",
" <td>21.315000</td>\n",
" <td>20.195000</td>\n",
" <td>19.775000</td>\n",
" <td>20.875000</td>\n",
" <td>23.035000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>38.020000</td>\n",
" <td>38.930000</td>\n",
" <td>38.250000</td>\n",
" <td>38.040000</td>\n",
" <td>38.750000</td>\n",
" <td>37.960000</td>\n",
" <td>39.540000</td>\n",
" <td>39.420000</td>\n",
" <td>39.790000</td>\n",
" <td>41.120000</td>\n",
" <td>...</td>\n",
" <td>40.180000</td>\n",
" <td>40.470000</td>\n",
" <td>40.730000</td>\n",
" <td>41.320000</td>\n",
" <td>42.170000</td>\n",
" <td>42.330000</td>\n",
" <td>42.200000</td>\n",
" <td>41.640000</td>\n",
" <td>41.530000</td>\n",
" <td>41.690000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8 rows x 49 columns</p>\n",
"</div>"
],
"text/plain": [
" 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 \\\n",
"count 347.000000 347.000000 347.000000 347.000000 347.000000 347.000000 \n",
"mean 8.663372 9.967089 10.949280 11.713372 11.187378 11.202853 \n",
"std 10.847302 9.854756 9.774945 9.691690 9.638878 9.307154 \n",
"min -22.680000 -21.010000 -24.170000 -21.920000 -25.960000 -26.690000 \n",
"25% 1.490000 3.090000 5.075000 5.495000 4.600000 5.420000 \n",
"50% 6.290000 7.690000 8.630000 10.430000 9.640000 9.380000 \n",
"75% 14.375000 14.700000 15.885000 17.595000 16.270000 15.745000 \n",
"max 38.020000 38.930000 38.250000 38.040000 38.750000 37.960000 \n",
"\n",
" 1/28/20 1/29/20 1/30/20 1/31/20 ... 3/1/20 \\\n",
"count 347.000000 347.000000 347.000000 347.000000 ... 347.000000 \n",
"mean 11.263977 10.875764 10.599625 10.832190 ... 12.542968 \n",
"std 9.568492 10.227953 10.208855 10.467075 ... 10.741210 \n",
"min -18.620000 -23.340000 -18.520000 -21.170000 ... -16.160000 \n",
"25% 5.465000 4.115000 4.050000 2.960000 ... 2.845000 \n",
"50% 9.490000 9.190000 8.890000 9.580000 ... 12.160000 \n",
"75% 16.225000 16.850000 16.355000 17.460000 ... 20.160000 \n",
"max 39.540000 39.420000 39.790000 41.120000 ... 40.180000 \n",
"\n",
" 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 3/7/20 \\\n",
"count 347.000000 347.000000 347.000000 347.000000 347.000000 347.000000 \n",
"mean 13.613689 15.129280 16.204726 15.701326 15.681037 14.344438 \n",
"std 9.830377 9.193625 9.035593 9.047492 9.014883 9.537341 \n",
"min -11.520000 -17.080000 -23.180000 -22.970000 -15.230000 -15.880000 \n",
"25% 7.130000 9.455000 10.865000 10.135000 10.860000 7.595000 \n",
"50% 12.720000 14.560000 15.990000 15.120000 13.850000 13.050000 \n",
"75% 19.685000 21.175000 21.530000 21.200000 21.315000 20.195000 \n",
"max 40.470000 40.730000 41.320000 42.170000 42.330000 42.200000 \n",
"\n",
" 3/8/20 3/9/20 3/10/20 \n",
"count 347.000000 347.000000 347.000000 \n",
"mean 14.314035 15.981412 17.329683 \n",
"std 9.251479 8.838364 9.000071 \n",
"min -12.560000 -21.100000 -17.530000 \n",
"25% 8.245000 10.945000 11.435000 \n",
"50% 12.920000 16.100000 18.700000 \n",
"75% 19.775000 20.875000 23.035000 \n",
"max 41.640000 41.530000 41.690000 \n",
"\n",
"[8 rows x 49 columns]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Describing the data\n",
"df_highest_temperature.describe()"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"12.611433276480621"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculating Grand Mean from the Mean of local highest temperature for the reported COVID-19 cases\n",
"statistics.mean(df_highest_temperature.mean(axis=1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plotting the new confirmed COVID-19 cases vs local highest temperature"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import matplotlib.cm as cm"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1/22/20\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ef66a9fd0>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plotting single day for testing\n",
"for column in df_infected.columns:\n",
" if df_infected.columns.get_loc(column)==0:\n",
" print(column)\n",
" x = df_highest_temperature[column]\n",
" y = df_infected[column]\n",
" axes = plt.gca()\n",
" axes.set_xlim([-5,50])\n",
" axes.set_ylim([0,150])\n",
" plt.xlabel('Highest local temperature ˚c')\n",
" plt.ylabel('New daily confirmed COVID-19 case')\n",
" plt.scatter(x,y,c=x,cmap = \"jet\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Clearing current plot\n",
"plt.clf()"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ef685fe48>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plotting all data with maximum scale\n",
"for column in df_infected.columns:\n",
" x = df_highest_temperature[column]\n",
" y = df_infected[column]\n",
" axes = plt.gca()\n",
" axes.set_xlim([-16,50])\n",
" axes.set_ylim([0,1600])\n",
" plt.xlabel('Highest local temperature ˚c')\n",
" plt.ylabel('New daily confirmed COVID-19 case')\n",
" plt.scatter(x,y,c=x,cmap = \"jet\")"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x7ef6ace668>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.clf()"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEgCAYAAACn50TfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzs3Xd4VFX6wPHve++0THqAhN57EwEFlWZBEVxdXVd0166Lve7+bGvZVde+665d7L2ufcUu2BAERKT3HmpIm2TKnXt+f9xAMskQJj2B83meeWTuzNxzJs7Me+8957yvKKXQNE3TtH0xmroDmqZpWsugA4amaZqWEB0wNE3TtITogKFpmqYlRAcMTdM0LSE6YGiapmkJ0QFD0zRNS4gOGJqmaVpCdMDQNE3TEuJq6g7UhYjoZeqapmk1t0Mp1aamL9JnGJqmaQeedbV5kQ4YmqZpWkJ0wNA0TdMSogOGpmmalpAWPeittRyu/j1x9+tJZOkqrEUrmro7LV7nDjD8INi0BWbNa+reaAcKHTC0BiVJPlq9/wSew4eCZYHLRXjmPHaeeDGqNNjU3WtxRODJ++DM30E4AobA+k1wzGTYsq2pe6ft7/QlKa1Bpd17HZ5RwzCSkzDSUzGSk/AcMYy0+65r6q41GBE48ZIcXlw+hHe2Deevr/Qkp4u3XvZ9wRlwxm8hyQfpqZCaAr27w2uP18vuNa1a0pIr7ul1GM1f+8L5GKnJVbbbxSVsTj2oCXrU8K54qCsTzssmKcUEIGopAgUW5w/8hbwtkTrt+5cvYHD/qtuDIeg8HLbvrNPutQPHXKXU8Jq+SJ9haA1KkuIfWYuvfo64m5vMbDeTLszZEywATJfgSzY55cp2dd5/akr87dEopFSNy5pWr3TA0BpUaPpslG3HbFO2TWjGrCbqUcMYcWp7/r1qPI/kTiTf04ZSfDGPe3wGg0an1rmdd6dBKFR1+658WLO+zrvXtGo1WMAQkWdFZJuILIzz2F9ERIlI67L7IiIPichKEVkgIkMbql9a48q//O+owmLssgFuuzSIKiwm//Lbm7hn9efQ37XnkueHktM9GcMQlOmikDRKKgQNK2KzYVlpndu662HYsh0CJc79cNj597nX1HnXmrZPDTlL6nngEeDFihtFpBMwHqh4PHQ80KvsNgJ4vOy/WgtnLVvNlj7HknzRGXiGDSA8bzGBJ17F3rb/XGw/4+7+eJMrf5WEACn4cQKlFVa8/WBundvamQcDj4RzT4OjR8OqdfD4C7BqbZ13rWn71KCD3iLSFfhIKTWwwra3gTuA94HhSqkdIvIkMF0p9VrZc5YB45RS1X7D9KC31hy8HD4R0x3nZF0pMkJb2LUlzD//tJq5XxQ0fuc0Lb5aDXo36joMETkR2KSU+kVEKj7UAdhQ4f7Gsm11PyTTtAa2fV0JbXtWHY3elRvkkiFzyd9uNUGvNK3+Ndqgt4j4gb8Ct8Z7OM62uGcPIjJFROaIyJz67J+m1dbrNy4mFIgNCsGAxRs3L9HBQtuvNOYZRg+gG7D77KIjME9EDsU5o+hU4bkdgc3xdqKUmgpMBX1JSmseZr29GcMUzrhnAK06J7FrU5A3b17MNy9u2PeLNa0FafQxjAqPraV8DGMScDkwEWew+yGl1KEJ7F8HjAOEK8lN/ykj6Tl5COGCIL8++j3rPlrc1N3StJaqeY1hiMhrwDigtYhsBG5TSj2zl6d/jBMsVgIlwHkN1S+t5TG9Lk6ZeSXpPVvjTvYA0G5UNxY89C2z/jqtiXunaQcOnRpEa/b6nnsIox4+GU9K7OpwqzTCyz3uoiS3sIl6pmktlk4Nou2fukzqXyVYANjhKO2O6Nr4HdqL1HThz/dm8Pnq9ny0qB1/vDwVQ3/DtP3IPi9JiUhvnIV0OUqpgSIyGDhRKXVng/dO04BAbgF2JIrhNmMfECjdEWiaTlXi9Qlvzm5Hu84mXp8TJa69J4Nho7xce/qOJu6dptWPRI5/ngJuBCIASqkFwOkN2SlNq2jxkz8SjURjttlRm1B+KbnfrG6iXsWaeLqfNu3LgwWAP9lg3G+S6N5Xl53R9g+JBAy/Ump2pW16crnWaPIWbeGrc18nXBjECkZQtgIxyFtdSFqv7KbuHgCHjvORnFL162TbMHjE/pmZVzvwJBIwdohID8oW0onIqegV2FojW/XWLyx/bylh5SZieIgYHrLH9OTEWX/B3yGjSftmmIJye4jEKXWhbNi6MVr1AU1rgRIJGJcBTwJ9RWQTcDVwSYP2StMq8bdPp9vvh2ImeVEYgGAYBqbPzcCrj2yyfiVnuHhkwaH0/U13TFdswgLLUuTviPLjV7oUrbZ/2OfFVaXUauAYEUkGDKVUUcN3S9NiZfRrSzQUwZXkjtluel20Gdm1aToFnHtPD9r18OP2GuTSnmy2Yqooylb8OjvEtZN30IJnrmtajERmSV0FPAcUAU+V1aq4QSn1WUN3TmvhsrMx/vBHpHsP1I8zsd/5LwRrd7RduGoHpqfqx9WORNm1MG4WmUYx+rQc3F7nRD1IEuvpgkssLFtx9rjvsCI6Wmj7j0QuSZ2vlCoEjgWycVZh39OgvdJaPBk6FPfseZh/uR7zj2dh3n0f7u9mQkZmrfZXvHYnm79ajlUajtkeDVks/NfX9dHleiJYuIk2biJoTWsUiQSM3RdmJwLPKaV+IX52WU3bw3zsSSQ1FUlKAkBSUqB9B8z/u67W+/zqtGdY+dJPWKURbMsm79fNfHLsIxSu2FZf3a6xb9/cSiQUO6gdtWwWfL1Ln11o+519pgYRkedwalN0Aw4CTJxiR8MavnvV06lBmqnsbNw//4r4fFUeUps3ERnUv067F0Mw3CbRUNPP7k7OcPHAD8Np1cGLL9kkGIhSWmTxl8PmsH1DnOLbmtY8NFjywQuAIcBqpVSJiLRCJwfUqhOOgOzlJDRY9x9RZatmESwAAvkWlw2axSGTWtFtcAqbV5bywzvbsMLOsYxhCj2HphC1FKvnF+sBcK1FS2SWlC0ia4DeIlL1kFHTKsvfhZrzExw6AnGXz2pSJSVEX3iuCTvWMOyoYtYHO5j1QWwKkCFHZ3LD6/1weQxEIFAQ5faTfmXlvOIm6qmm1U0il6QuBK7CKWo0HxgJzFRKHdXw3aueviTVjLVvj/vDj6FVazAMEMGeMZ3ouWeB1TzODhpSZlsPz64cgS85Nv9V8a4IZ3aYSajUbqKeaRrQgJekrgIOAX5USh0pIn2Bv9e0Ie0As3kzkeEHI2PGIh07oX6eh1q8qKl71WiOOjMnbqZawxRGntSaGa833UC9ptVWIgEjqJQKiggi4lVKLRWRPg3eM63lUwo1Y3r84uz7ucwcN54ks8p20y2kt3bHeYWmNX+JTKvdKCIZwHvA5yLyPnupt61pDcWT4ub4+0dz0+Y/cdPmPzHxgdF4UprvD+/8L/MpLap66U3ZsGBGfhP0SNPqrkYV90RkLJAOfKKUCu/r+Q1Nj2EcGMQQLp9zBm36ZeH2OSfFkaDF9qW7eGTYq0722mZGBO7+4iD6HJqGL8U50ygttvjhnR08cM7SJu6dpjXQGIaIjAQWKaWKlFIzRCQVOBiYVYtOalqN9Tq2C1k9MvYECwC3z0VW93R6T+jCso/XNl3n9kIpuHnCAsaf25ajz26LFbH55KlcPXahtWiJjGE8DgytcD8QZ5umNZgOw7LxJFf9qHpS3HQYmt0sAwaAFVFMeyqXaU/pagDa/iGh1CCqwnUrpZRNYmcmz4rINhFZWGHb/SKyVEQWiMi7ZWMjux+7UURWisgyETmupm9E23/tWlNApKTqeEA4EGHX2sIm6JGmHZgSCRirReRKEXGX3a4CEqmL+TwwodK2z4GBSqnBwHKc0q+ISH+csq8Dyl7zmIhUnWKiHZAWvrOSSImFHS1fu2BHbawSi1/fXtGEPdO0A0siAeNi4HBgE7ARGAFM2deLlFLfAHmVtn2mlNp9qPgjzmJAgJOA15VSIaXUGmAlcGhC70Db71nBKI8f/gYbftxCNBwlGo6yYdYWnjjiDaygrmanaY0lkdQg23CO/uvb+cAbZf/ugBNAdttYtk3TAMhbXcATo97Em+YBIFTY5JP0NO2A0yRJ+0Xkr4AFvLJ7U5ynxZ0rKSJTSOAMR6tGeg5ktIXc5RAubere1IgOFJrWdBo9YIjIOcAJwNEVBtM3Ap0qPK0je1kcqJSaCkwt21fzm4DfnPlS4IpXYNB4sMJgmPDmrfDxg03dM03TWoBExjDqjYhMAK4HTlRKlVR46APgdBHxikg3oBcwuzH7dkC49AUYdCx4ksCf7gSQ0+6AYSc2dc80TWsBqj3DEJEewMk4R/8WsAJ4TSlVsK8di8hrwDigtYhsBG7DmRXlxUkxAk5Cw4uVUotE5E1gcVk7lyml9GhmfUrJgoMngrtShnpfMpx0A8z9oGn6dQAQgUNGGqSmwewfbIqKmrpHmlY7ew0YInIl8BtgBk622vk4gWOmiFyqlJpe3Y6VUmfE2fxMNc//B/CPBPqs1UZqK7AiVQMGOOMZWoPo00946xMP6RmCUuByw1+vjvDCU/p4SGt59ppLSkR+BYYopaIi4gc+VkqNE5HOwPtKqYMbs6Px6DGMGjBdMHUbJGfGbo9G4JuX4MkLmqZfLdSA0Rn84bZudOjjZ+2CYl6+dTUr58aeOhgG/LreS047wTDK53WUBBQnjA0xf67++GpNpla5pPY1hrH7DMQLpAIopdYDzTdNqBZf1IIXroFQoHybFYbSIvivLm9SE8MntuLv04Zw0NFZtO7oY+iEVtwzYxj9j0iPed5how1SUmODBYDXB+de1CQTFDWtTqoLGE8DP4nIVGAm8AiAiLSh0oI8rYX45gW49wT45VPYtAS+fAquPwh2rG/qnrUoFz3UO6aSnmEIvmSTCx7oFfO89Azi1vA2TaFVm73UPNe0ZmyvhzlKqf+IyBdAP+BfSqmlZdu3A2MaqX9afVs83blpteJyCzndkuI+1m1ISsz9H7+z8XiqPi9QrPjfu3oMQ2t5qr0kpZRapJR6e3ew2E1EUvb2Gk3bn1kRRWlR/B/7/G2RmPt5O+Ge2ywCxQq7rGZHoFixbLHindd1wNBantquw1hcr73QtHpiekxMd8MuL3r/wfUEA7HZc4PFUd66e22V5z50v8XkSWHeezPKV59GuenqCJPGhAjrBetaC1TdtNpr9/YQoM8wtGYls1s6v3n6eLqM7gQoVn++lg8u/ISi3OJ6b+v1O9bgSzaZeFnHPdX+3r53HdOe2BT3+T98Y/PDN3bcxzStJaluWm0QuB9nIV1l1yilMuJsb1R6Wq0G4Pa7uWr1RfhbJWG4nLOLaCRK0aZiHuo1Fduq/Y+1YcDwSa0ZcWJrArssPn8ulw1LnJlm3iSDjLYe8jaHiYR0QNBalHov0ToPeE8pNbfyAyJyYU0b0rSGMuC0vrj97j3BAsB0myRl+eg9qQdL369dzQzDFG776CD6H5FOUqoLK2Iz6bKOPHbpUr58YQuhUputa4L19TY0rdmr7mLvecC6vTxW48ikaQ2lVa9MvKlVpyOZPpOsnplxXpGYUadm03+UEywAXG4Dr9/k0sf6kpSq63tpB569Bgyl1DKl1I6K20SkbdljWxu6Y9r+J2n84eT890HaffYUqeefAu76Wby25ZdthApDVbZHQ1G2LthW6/2OOi2bpJSqfbQiNoPG1j4QaVpLVdPpJB83SC+0/V7m7VfQ9p1/k3LKePzjD6P1f26g/VfPgqvuQWPpu8sJbCshGi6fqmoFLXatymf1F2trvd9gILpnOmwsIVTaNNNiBwyEww4HX5yUYJrW0GoaMPTyVK3GzA45ZPzlXIwU/55tRoof70F9SD756DrvPxqxeXrkS/zy0kKC+UFK80qZ9/QvPDfm1bgrrRP12dObCZdUHcyORmwWzsivQ49rrlt3mPuL8OV04e13hbUbhMnx0ntqWgPa6yypuE92stQ+1oD9qRE9S6plSDljIm2euBUjrepsbGvalwyL/Eirfq3ZMmczM+/8hvwNxfS4ZiIdJo8kGgix5rHPWf/CN/HzbDSwM27txu9v6ELUUigbbFtx64T5LJ9d2Gh9EIFflwidOjlpRXYrKVEcc6RiwS+N1hVt/1GrWVL7DBgiMgjoW3Z3iVJqYS061yB0wGgZ/BNGkf36A5jpsQFDWRY97BUMcf2KYRjYUZtwaZQl21rjbZeFmeQMZFvFQTa9+SM/X/BkU3SfVh28HHRUJiWFFnM/yWv0KbQjD4N3PxBSU2NP8C1L8fKLcPml+mug1Vj9TqsVkXTgfZwaGAtwLkcNEpH1wElKqcY7xNJatJIvfkSFwijbRowKU18N6OHagFF2ZdQwDUIpGfiTWjvp2Mu4Unx0PONwlt/1HoFVjT/fYuemEF+9tKXR290tKwvsODHK5RJy2upgoTWe6sYw7gDmAL2UUicrpX4L9AZ+Qhc60mrCssg95kKim7djFxYTzS/CLi5hKHNIJ/a4I4A/JljsZltRsg7rVWX7geCn2eCNl8QwoJj2sQ4YWuOpLmAcA9yglNpzbFNWNvWmssc0LWHhX5ezrvMxbD7uIraeeg1rc8bSvmR1lee5sUDFOZxWimBu4w40Nxfbt8M/H1AEAuXBoaREsW4tvPZK0/VLO/BUN6cxrJSqkhZEKWWJSNVJ75q2L0oR+rF8hPbnx35i6GWH4E4uP3z2l2xnh5mG4S0/lrGtKJFdJWz/elGjdrc5ufsf8NNsxcWXQmYmvPtfxbPPQGlpU/dMO5BUFzB8InIwVafSCk4FPk2rk2/++iW+TB8DzhxMNBzFcJv8+tAsFn/5DsNeuhRXshcxDYqWbWb2KQ9C3DURB44vPocvPj+w/wZa06ou+eB0YK+fTqXUkdXuWORZ4ARgm1JqYNm2LOANoCuwFjhNKbVLRAT4DzARKAHOVUrN22fn9SyppuP2wJGnQr9DYMMK+OwVKC6o1a68GT7SOqVTsGYX4eKyvN8ipPZtT7QkRMm6HdXvoB6175XEuD+2xes3mf3BDhZ9l0+vo9rT//jOlBaEmfPyCvLWFu17R5rWvDXMtNraEpExQDHwYoWAcR+Qp5S6R0RuADKVUteLyETgCpyAMQL4j1JqRAJt6IDRFFIz4alZ0Kot+FOhNODUB79kFKxpuaVSxp/fnosf7o3pEgyXECqJsnxHK1yt03H7XdgRGzuqeOWcr/nl7TVVXi8C6dkeSgoswsHaTb3NSodoFArqPyu7plVUvwFDRE6p7oVKqXf2uXORrsBHFQLGMmCcUipXRNoB05VSfUTkybJ/v1b5efvYvw4YTeHah+E3fwJPhSuTtg3L5sKFhzZdv+ogNcvF8xtH4U0qTypYTDJbVTZKYueGhAIRbsl+iXBJ+RDfqMk5/Ok/ffGnOVd5v34pl6lXLMEKJ/YR7d8dXrodBnR37s9eDGfdAuuq/QZoWq3Ve3rz31TzmAL2GTDiyNkdBMqCRnbZ9g7AhgrP21i2TX9dmqOjTosNFuAUjuh5EKSk1/rSVFMaelwrohEFFcp1F5FSJVgA2JZNz3HtWPyx85EdNC6TK54ZiC+5PNiMPbMdbq/Bf87d9zrXtGT49mnISHH+jACHDYLvnoZuJ4Klq7lqzUR1AeOGRsxKGy9HVdxDMxGZAkxp2O5o1bIie3/Mbpm/blak6sdNUE46Eqk67yMaKb/kdNrN3WOCBYDPbzJqcg5PX7WUQEG8GmTlzpgAHld5sABwmZCWAieMhvemxz6/dTp0zoGVm6AwkMi707T6Ud06jF9E5HMROb9s1Xd92Fp2KYqy/+7OPb0RZ0X5bh2BzfF2oJSaqpQaXpvTKa2efPw8hCrN57Qi8Mu3UNIyL77PnbaTyicTaRQ5QaMSZStWTi8/+c3p7q/yHAArrMhoG2fFXSU9OkBKnF143dClXfl9twteuAnWvwVfPghb3oX7Ltnn7jWt3lQXMDoADwCjgeUi8p6ITBaRpGpesy8fAOeU/fscnNQju7efLY6RQMG+xi+0JvT8nbB0jhMcQqUQKITtm+DOc/b92mYqGIhyz+8XEgxEKS2yCJZEMUuL2fTDesIlFuESi2BRmGBRmGd++1nMGcbSmflE45SBFYFta/ddkW/WIiiKc6YQtmDukvL7918Cp46FJK9z+SrJC5eeBFf8rlZvWdNqLKFZUiLiAY4HTgeOBL5USv1xH695DRgHtAa2ArcB7wFvAp2B9cDvlVJ5ZdNqHwEm4EyrPU8pNSeBfulB76Y0+AjoNQRy18KsT5zpPS1ccrqLESe1xus3mTttJ9vWBWndM40+4zsSLAyz8P11hIpjL8l16O3nn3NG4k02MQzn8lWw2OL1v6/m3QfW7rNNlwm/vAbdO4Kv7ISkNAhzlsKYsmLIhgFF08Afpw7G+q3Q5bS6vGvtANSw02pFpBdwBnAmEFBKHVzTxuqbDhhac9GpfzJn3dWLvodnsGtLiLf/sYZv30g8YWFaMtw2BU4/1hnkfuEjuOs5CJblVPD7oOBjJ7hUVlwKqRPq6Y1oB4r6Dxgi0hmYjBMokoHXgdeVUkv2+qJGpAOGdiBZ/gr06hi7zbbhq3kw/s9N0yetxar39OY/4IxjvA1MSeQSkaYd6HoNcHHwYV6250b59tMgYsDo4/107u3BMA02rrH49qMiSgM1P9a59EF47x/gc4NpQsSCYBj+3GxKmmn7u+oW7o0FvlENtRS8HugzDK25MAz41ytZHHWiD6Wc2cWlQVAuD+4kF6bPOTazIopwSHHtSRv56euSGrcztDfceCb07wKzl8BdL8OKjfX9brQDQINckjoeuBHoj7MuYjFwr1Lq49r2sj7pgHFgandIB47613G0Hd6eYF4psx74njn/ntUkJVx3m/ynZG76Vzr+FGfioQLCyk0Ug6i4qbzUKFAY5ZicFYSCtetzRjrcdxNMPsEJVu9+Cn++A7bvrOMb0Q4U9Z4a5E/ARcB1OIWUAIYD9wBPK6Wm1rKj9UYHjANP6wHZnDXrQjwVUqKHi8P8/PhPTL/u8ybr13tzsxkwtLxPNkIENxYubAwqB4zigii3nrOZ6e/XfN2KYcAvn0KvbuWFlcIR2JgLfY+ESDXrKjWtTK0CRnXrMK4BjlVKfaWUKiy7fYUzvfaa2vZS0+ri8FvG4PLFDr15UjwMvexQPCn7XiTXULxJ8ZIV7BbnMQGPr7qv394dOwY6d4itwudxQ+ssOEXPltIaUHWfWFFK5VXeqJTSJ71ak8kZ2g7DjJPfKRIlvVtmE/TI8dGrJQRLy094d68QN7CJl+XG7RZmfV67vB4D+4AvTkWatBQY1LdWu9S0hFQXMApF5KDKG8u26YIABzDPuJGkPfkP0h69Hffhwxq17Z2Lt2PbVVdVGx6TwvVNl/TwuQeLWbs8QqDI6Vuo1CZaGiYSjKKiTtBQSqFsRbDE5oGrt1KQV7uFjstXQzDOAvKiYlhWteqtptWb6sYwRgGvAM8Bc3EOkw7BSelxplLqu8bq5N7oMYzGl/bo7SSdfTLiTwKlUMEQJQ+9QNFN9zdK+22HtecPM86NKesaDoRZ9PICPrv4o4T3Y5hC6+6pBHaGCOTVvuKwYUD77h4CBTbF+RbjT05i5FFeNq+L8s7zAUy3wUnnpNB/eBLiMlnxa4gPXyhgzZJwrds0TVg+Azq1A7fb2WZZzoB391Hli/00rRoNMksqB7gMGIBzIXYR8KhSKvElrA1IB4zG5R42iKwZr2Ekx2bKUyWlbD/4BKLLqxYVaghdju7O+EeOJ6t3ayKBMHMfmc23t3xddiS/b4f+sTunPTQC021gug0Wf7qJ58/6lmBRzUaLx5yUzg1TO+H1Cy6XMP+bYm45Yx2FtTxzqImcNvDEXTDpaOeL+cV3cNGNsH5Tgzet7R/qfZZUG6CNUmpxpe0DcMqubq9VN+uRDhiNK+W2K0m55XJM07k2rxBsTOxghKKbHiDw4DON2h/DZWDHSfpXnZ6jc7h82ni8yeUD55GgxfKvt/DIxC8S3k/vIUk8+V0vfMnlV3UjIZul80qZcviKGvWpLnanRI9zlU7TqlPvs6QeBtrE2d4Rp/62doBRwTBuiWISxUBhYuMigmHYqJLSfe+gntU0WAAc+38DcSfFJmRy+1z0GteWjA7x05THM/maNrh9sbOf3F6DnoOT6NI3zoh0A7FtHSy0xlNdwBiklJpReaNS6lNgcMN1SWu2iooQUTGTRAVwuYXI9y0jc0xWl+Q9GWUrioZt0tslnrm/fTcPpll1P1bEJruDu0591LTmqrqAUd2nXn8jDkC+ww9CqlSfA1Uawj2oVxP0qOaWTd+CFao6xmC6DLYsSXyW1a4dUSJRcVZyVyiz5PEaLJ/f+GdbmtYYqgsYK0RkYuWNZelC9OS9A5C9LQ8ViVNuNGJh57WMOt6f3buQULEVUwApVBzho7/PJxSovpTqbtc+0olDjk0vWw8igGBjUFoc5Y1/b6dgZ8uvC6Jp8VQ36N0b+Aj4AWdaLTipQQ4DTlBKLW+UHlZDD3o3Lne/HrSd8xaGv/zSjbJt7O272NhxnDO3swXI7JTMxFsOou8x7SjaGuSz+35l/rvrE3ptTic3ry4biDcp9ljLjio+eWEHd12Q2H40rYnVb3pzpdRyERkE/AEYWLZ5BnCRUmrfdSe1/U5kySp2XnAzrZ66w6muZxjY+YVsO/6iFhEsUnOSOPGuYQw+qQtWyOaHp5fx6T/mY4UTHzXue0gykbBdJWAYppCatdevk6btF6r9hCulQjgL9zQNgJLXP6b0vS/xHjYEO1BK+KdfmzRLbKI8yS6u++lEUtsm4XI7s6SO/ssguo5ow6MTPk14PztzI3EHzSNhm81rE1+M160LnHCckyjwnY9gW4VJ6i4XnHAM9OgKC5bAF9+0iD+xdgDQh0RajalgiODXsxq+IZF6+6U85I898Gd69wQLAI/fRfdROXQc0oqN8xNLkbZwZoAdmyO07y643OVnGdGI4r3HE1uadMPVcMtfAHGmxD5wB1xwBbzxLrRvC9+/D1kZTr6oUBhWrYMxJzupPzStKdUuXaamNaCsgW05+dvLuSRyH1MCdzPmsd/h8tctE223w7IJGeA/AAAgAElEQVTxplSd3KcUdBySVaN9XXX0cpbNLSFUalNSFCVva4SbT13NhuX7zskxqD/c/GdISoIkHyT7wZ8Ezz4MrbLgqfuhQ1tISwWPB1JToG9P+McNNeqipjWIJjnDEJFrgAtx8lP9CpwHtMOpGZ4FzAPOUkrVPuGO1iIlt0/j5O8ux5PqRQwDl99D33MPIb1nKz48tvYlWLYsySdcYuHxV/rIK8XONTXLpbl9U4SLDltGmw5u/Kkm65cFEz4ROv0UJxBUFo3CKSfA+DHl+aF283nhj6fAlTfXqJuaVu/2eoYhIr+KyIK93WrboIh0AK4EhiulBgImcDpwL/CgUqoXsAu4oLZtaC3XwEuPwPS6EKP8o+lKctP28G5k9s2u9X5/fHYF0YiNbZf/slvhKPkbAmxZXow7qebHTts3RVi3NPFgAc74RJylLCBOUsG4j1GeAkTTmlJ1H8MTgN8An5Td/lh2+xh4u47tuoAkEXEBfiAXOKrCfl8AflvHNrQWqPWQDrh8VS8d2ZEoGXUIGMU7gvx7zP/Y+PNOomEbKxxl0+JCItntuXLlFK7beSUnPH4sprthf5nfej9+NlnThHf/B9/OqjrhLByGtz5s0G5pWkL2+u1QSq1TSq0DjlBKXaeU+rXsdgNwXG0bVEptAh4A1uMEigKcdR75SqndX5WNQIfatqG1XNvmbsAqrZo11vSY7Fq8tU773rQgj/uGv8/1rV/m8VO/xdu3K0mtk3H73biT3Aw+ayATHz0WgF7DU7nqmb7c8v5gjjm3HS5PdRX1EjfnZ3jsGSgpcQJDOAylpXDNX2HrNrjgz7AzH4rKaisVFcO6TXDj3fXSvKbVSSLn4ckiMmp3/QsRORxIrm2DIpIJnAR0A/KBt3DKvlYW90RfRKYAU2rbvta8LXzsBwZfMQrDa2KUXYexSsJs/Gol+csTT5Cc3K8T4jIpXriuykyrYFGEkx8ZW+VMxpPsZvCZA7AXLuG8u7rh9gmmaTD4qEwmXtKR60bPwQrXfdbW9X+D1/4LJx4PGZnw6dfw6WfOY2vWQ/cRcNqJTs3uXxbDu9N0nW6teai2HgaAiAwDngXScX7EC4DzlVLzatWgyO+BCUqpC8run42zevz3QFullCUihwF/U0pVeyajV3rvnzL6ZDPqP7+lw7geWKURFj/1I7Nv+YRoaN+LA1MGd2Pwu3/FnZ0OShEtDrJw8r3kf7toz3OyO3u5as0lRIyqWWWtYIT+ahFpSbFtlRZHeerq5Xz2zOa6v0Fg6CHCS2+6yCirKpufB2dNtpj3k/5Ia42i/gsoxTxRJK3s+XVKGiQiI3AC0CFAKfA8MAcYA/xXKfW6iDwBLFBKPbaPfelvl7aHkeRl1MbncWUkxwyaW0Wl/NDjQiLbnY/uceflMOHJSRS4WwOVLjVFIvQNzCUlo+rJ99xPdnLb8fPr3M+0NFi0xk1aemzbhQWKAd0iFBbWuQlN25d6r4cBOFX3ROQZ4A2lVIGI9BeRWs9gUkrNwhncnoczpdYApgLXA9eKyEqgFdC41Xi0Fq/NSSMQlxkTLADENGj7h7F77pcUWrQNrsXAqbW9m6GiBOctjjsjybYVxXn1c13o5N8bGGbV7aYJp/9BmDgWxh6iZ0ZpzU8iH8nngU+B9mX3lwNX16VRpdRtSqm+SqmBSqmzlFIhpdRqpdShSqmeSqnfl6Ul0bSEebIzEE/VMwPT78XbodWe+7M/3oU3WsIgFpBJHi7CJFNM1/AyXjlnBoECK2b6LUC41Objx+un/mmbHGfhXmVpkSgPX6Z49X54/zHYPAMO7l8vTWpavUgkYLRWSr0J2ABlM5l0/matXmQd1JGjP7yUybn3MmnmdXQ4fkDCrx16Zh+u+eUMbt58Pqe/OJ7oqrUQp663VVTKrq9/3XM/VGpz88RFRHcW0LlgIQMKZtInMI/nL/iRDctKufW4+ezKDVFSaBEosAiVRnnltlUs+i5/r33pPcjDw++1ZXpuF177sQNjJ+29et/M7xSlpSBRha/QImVHmJQdYZIKbTwuSE+F9BTIaQ2fPe0s5Dv6OINPf/CwJNfH6x95GHxw/cza0rSaSGTQezrwO+BzpdRQERkJ3KuUGlvtCxuBHsNo2bKGdOT4b/+C6XeXz4gKhJh56WuserH6XFXH/n0Eo689eE+6D9uyCRaFef/7HNLHHYSZ4hzCRwNBCuetYt64G2Nqmeb0SqH/0dm07+7F4xHWLyll9n83UbTDSS5gGNB/VAbJGS4Wf5dPUd7eB9x7D/Lw8g8d8PllT2LC0oDN3Vfu4J1n468i/+hTkwmDouyuqAHOZC4JAxVyQRcUwcPTTM77sxt/svNM21YES+GEsSHmz9VfAa1WGmbQW0SG4tT3HggsxKnzfapSqtarveuLDhgt2/hpl9P+2H5VxhyC24p4ve31e0086EvzcMuWC6qszrZCUWY+uZA58710mDIBcZvkvvAlm56chgqX/+Cf9ehQRp/bFTEFl8dpO1oSxjCEZy+ex3cv1qymxSMftGXMJH+VLLb5O6OMzVlLNM75+M1Xwy3XgKfyGkUFFLFnaKWgGPJ7+EjLjN23bSu+/drm5GN09hytVuq3HsZuSql5IjIW6INzMLRMKaVnhWt11uqQLlWCBYAr1YevdQrB7fGPzrP7Z2GFolUChstr0n10Oz686g1yn/s87muH/rYDR5zdpUpOKVeyBxObKc8NJ7trEof9ri0d+qaQtznI239fxo9vbua8u7oy/pxs3F5h7qf5PHbVaratDzHoUC+GIQg2XkK4cIKTK81F974uViyqenYyZkScYAFOoDChbBe4feCLc3XLMISDhupRca1xJTJLygQmAkcDxwJXiMi1Dd0xbf9XsnEvYwK2Ilyw97rYBRuLcXljpxnZCPl2CoXebDpP6o/EqVkBMG5Kd3xxstbuZhiKyX/rTZfBabg8Btld/Zz/yCD+/ctIJk7JISXDhTfJZMRvMnlm8cFccEM6O7ZYgMJPCS6ssqKt4HNZTH0nDTPOjKjla+IvxlPOm8G2IVACdz8G8ariAmzJ1SfYWuNK5BDlQ+BcnKmuqRVumlYnv9zxMZFA7GS4SCDE8qe+ww7vfcygYGMxK7/aSKTUeU4ID2vpwk5pg6tfd4567Wx+O/taXH4PhtvEnVyeHtadFOfXuwIX0SoJAH3JLrJ6ZOKp8FrTNPD5Dc7/ewd69DFR4TCCilnVIQLZ7QyOnFg1Pe3Dz0K4UsAIhWD1OvjwS3jtY5h4Mdz5ODz3mEVJIDY4BAKKB25v/lUOtf1LImMYC5RSgxupPzWixzBavj6XjmHonSdhepxUrSue+Z7Z176Nsqovm+pNcXPq00fR/6TubPZ0ISLemFSvVmmI4MottOqdBYawa9kOdqwpZOiE1vRwrceUyvtXmNh4CFdeylf2sCJNCjAqZazxE6AVeRAJk+SqGmxQip1rSzjj+ADLlsU+dPRoeOafkN0KxIAvvoVzroK8XbHPM024/QEX50xxoRRYEbj71ghTH9aTFbVaa7BB73uBL5VSn9W2Zw1FB4x64k6GgWdCpzGwcxn88hQU5zZa8+IySGqbTmhnMdE4iQerk9Ezi9/9eiNmpbxQXoIYth1zaUopCImHfiwhhWJMbGdmkigM7LKAEUIR5yxE2aRLQewZBDZpFJJGEeGSCF4iJPmlyuuSw0WU5oUZ2E9RECdPQvu2zuWngn2s8Pb5oFVrYesW1RJKqGvNW8MMegM/Au+KiAFEcC7PKqVUWk0b05ohfxs4by74MsGTAlYQRvwFXjsacn9qlC4oy6Zk4659PzGOUFGkSpZKwcZAVR3HEDCJsogBZLKL9GgenkiAHt6NIOCnBBObXWShKlytDRZbRHYV4W9j4/Ht3u60moyTVjYUMYiGFR4PmK6ydpXCQOElQtQLp58BTz5R9T1s3pLYew0GYdNGfYykNZ1ExjD+iZMc0K+USlNKpepgsR8Zcwf4c5xgAeDygTcVTni+SbuVqNKtRRQu2xqzxsJAxc117AxGK0DYRRZrzZ5sirbFEjdRXBSRRj4ZuIgg0QjKVhTtCPP6LUu5ctBMvnlzB9GIDUrhJUQOWzGd9azYNvxmeB6rFoedUxmlcNth0sPOWUlystCrj15sp7VsiQSMFcBClWiWQq1l6XUSuOLUDM3oAUmtG78/NZTx2zEUdB7ECunDTjJRKECVBYZYCrArfOSjIYsMb3DPYPXuWxQTl0S5osunXNb5U1pbW3n6/XS6p23nHxPnMPv5paQGtqJCEQLFNiXFNlecvJ1N620+fb6AVgXbySneTkaoEEM54wzFRYp5epGd1sIlckkqF5guItOAPVNalFL/arBeaY3H2sv0VQGijZPOy9cmlYxBHSheu5Pi1YnXvOj0yLW0Pvd48pKdVd0B/BSTygSmkU8G+VYa4nI+4rZtgxhYUnY/aiN2lI7mOmwEs0KAEcCyDToOSOOOe4UuPU38yU6gGXWMh8fvKeYPRxRy+PgkCnfZfPbfEgrzbf55D5x/FngNQIFhKZRAQCny8oR36lqnUtOaWCIBY03ZzVN20/YnPz8Bo251Br53i4Zh3XQIx184V29EOOQ/k+l14WiioQiGx8X271cy/ZTHsYqrD1be3p1off4kjKTymhZR3BSQQT6ZdJW1LN2axk7a4E52s+6zFWxbtove54zAk+7DtWs7wzpuweuCMD6MsgHv3ReNopZi0qkeuvSw9wQLAH+KwWV/TeW1J7fx7APlo9Tdu8Gfzo1NKiiAsmHmt3Du+YpghZQfmtYSVRswyhbtpSil/q+R+qM1ttn/gvYjoftxoKJlqSk2wIdnN3jTvS8eQ4/zjsBMcmMmObOc2ozuxcinzuK7M56u9rWp44ai7KpTbyN4WEcXOgZXseaV2bx5fWwGmzm3fsKEq3ty6p0D8Llc7M7kZGMQwY2H3bO0hF7dI/jjLPKLhBXDjnDz+fvlQW3sqLh5DzEE1q2C7YmfOGlas1VtwFBKRctySWn7K9uCd06B1v0h52AoWAcbv2uUpvtdMx53SmzVO5fPTeffHoyZ5CFauvc8SVZeYdxfaAMLnxWgtCjCJ/9cFueVcNxVPfElV/7oC1FcKCLYluL7N3NpFwpjjXHhcsUOVotA/s7YtvN2gR1nWUQoBNsqBAuPB8aPhdQU+Oq72Mc0rblL5JLUfBH5AKf2dmD3RqXUOw3WK63x7Vjs3BqRJyNOUYgyruTqA0bBR9+j4gQMsRX5r37KrTf+QOG2+Je1/Ol7SQ2iIC83xNu3r+DzqRvoP8TFSX9IigkY0aiiYJfNnO9j14tM+yx+Cg8rCi+84vz7kIPhk9edhXgiTtryv90P9z2817epac1KIrOksoCdwFHAb8puJzRkp7QDQ+4XS7CtqoflpbkFhHYUV/tajxvafvIS3mgJph1BQkGiBcWsmnwbhdvDXPbzWdyy4yJOfvJo/Fm+mNcu/no70TjBZsvKYqZ0+IrPntyAUrDoZ4tbLy8kUGxTWGATKLLZuDbK2ePzqiTSDYdhwkmwaTMUFjmL8AoL4ewLYc1acLlg2muQlQnpaZCWCkk+uPXPcNghNf7TaVqTSLimd3OkV3q3bCldWzFx7s24/B5MnxvbimKHLKb/9jFyv1iy19eJIVzx8x9o3TsTl89FHllEQgq1ajWRoiDtDmqD2+ecPFuhKAUbinhwwEtEw05wyumRzO0/HYXHb+L2mlgRGyts888TfmDJ9O0kp5mM/V0mqVkufv66kPVLShgywkNRgc2in6tfYi0Cww8Grw9mz3ECCcD4cfDW006wqCgahRfegAvqVMNS02qsfld6i8h1Sqn7RORh4iyDUkpdWdPGtAOQYcQsqquoeO1OPhzwN/pedRTZo3tRuGwri//5GQWLczE8rr0mIOx9XBcyu6bvCQpZ5IEXIl1TQFJw+co/1i6vSUqOnwEn92DBG8sB2LoqwPUDPuf4a3rS6/BWbF5SxMf/XMHmpUUMPDyF+6b1QQxwewQrovj+/V3ceebqvZXniKEU/DSv6nb/Xq6+maZztlHNn0nTmo3qxjB2X9Ce0xgd0fYvaWMG0/WRK/EP6IodCJL76HtsvOU5VKVLUKVbCvj5xnedOyIcPuM2XKMOxcbEQxjP3Fl8MeZerAo5ptoNaYPb78JG2Eo2+WQ6S/WSYAs5BEkinQIGsogMCvCmeugwLGdPwOh7SAo3vNaPrO7pKIRBQzPYuSyL95cXcee7vUhOK88l5fbAESdmcuRpWXz1Rl6t/x4zfohfLCm4E47pAdYs2LQNbngEXplW62Y0rUFVN4Yxuey/GUqpFyrf6tKoiGSIyNsislRElojIYSKSJSKfi8iKsv9m1qUNrYG5PXD8GXDTo3DOnyGrzZ6H/IO70/fje0ge1B0xDMxUP+2uOIVuT1xT7S4P/+FOzFEjsMUFIoTFS/Gw0Ryx6XnSTxzlHIYDO1cVECmxWEeXCnmfBBEhR7bjwqKADH5kBAH8hIrD7Fjh5Krq0NPH/TMGk9kjAyUGiOBJcnHW3b2Y8lBvPL6q6TuSUkwmXdCmyvaayC+Aq2+BkhL2JA4M7gRXMWSkOJeyOubAkzfB74+pU1Oa1mCqCxjDRKQLcL6IZJb9oO+51bHd/wCfKKX6AgcBS4AbcLLi9gK+LLuv1ZYIZHcAf0r97zslDd74GW55EiZfCpfcDh+thAHOJdEON52JVMoeayb7aPOHo3FlVU1D5muXgbd9FuaIYSiplClWhHBmDt1fvY3eXz+MeNwsfm8Va+lKifJDpWTkgiIdJyWsjcFquytWMMovrzlTbE+9th3Kl1TldabL4MhzO2KY8fM9mYnMJ9yHqS/CYZPgsefgpbcguA1clb6ByUnwj0vr3pamNYTqvgZPAJ8A3YG5xH7DVNn2GhORNGAMTlEmlFJhICwiJwHjyp72AjAduL42bRzwxp4INz0BKelOoYUZ78MdF0JJ9TOPEnb+DdCxuzOyC5BUVkP07lfgxD74B3bFiFNmzg5F8HbNcdZQAK1H92H48xfha5eBMgzy4mUMBAxsjGQ/ySP70+q8iRT973u2+jrTSoqq5IwS2LP4TmGwo9jHZ4e/QbjY2dbzoGTnzCIOl8fAa8Z5TCm2rgpU3V4LCxbBVX91xi7CM+M/p3O7emlK0+rdXs8wlFIPKaX6Ac8qpborpbpVuNUqWJTpDmwHnhORn0XkaRFJBnKUUrllbecC2XVo48DVfzj841Vo3c4pBu31OQHk7jfqr40Jp5cHi4pyOkFORwI/r4g7Xdbwugmudups+Lu24YiP/4/k7tmYSR5Mr0nlo36ITRhoeNxk//kMWk8cTsQy9ppgMLQ7g000Sv7MpexaW57CY+XiMFE7/lmEFYxilhSW7aX85pIIPXru/c9RG9Eo5O6I/9jqjfXblqbVl32uw1BKXSIipoi0F5HOu291aNMFDAUeV0odjLMYMOHLTyIyRUTmiIgejI/n7OvAU+nH3JsEhxwJbTvVTxuRvSyoE4FImE13vYoKxj4nGgiy9en/Ec13znK6X3oM4i4/CxEEvwTizkSKUH55y90xGztsYUWFUpKoOLFIKSdPbSFpoBSmqThyVIgLv/wdhsugXb90ekw+mAJJrxJqohGbz59ch2lbpFFIEqV4CZFCMcmUEC5VeLxCv+FJtO9WnlItM8dN30NTSMmovvRrPDc+AoFKuR9LgnC9XsinNVP7vDIrIpcDfwO2wp7vpwJqW7Z1I7BRKTWr7P7bOAFjq4i0U0rlikg7YFu8FyulpgJTy/qm12FU1qmHc72jsnAIsjvClg11b+O/U+HS2yGpYsJCC5bNh7xtlObBoiOvpdu/LyN5eB+s/GJy//UWm+8vP8tJ7d0W0xs7zuGnhJ1k4cFCUCiECJ49FfAUYBsutn8wiz6PXkI+GaRgkkwAA0VIuckng6iYtJKd9GcJaclR/EOzGXRqL47+Uyc8yS4iYpCPkEIRLhXFisKTFy/mi+c2M/mMbqSkKbyUB7ySYpu1q22mbR+IbYPLLaz6tZTNWwyGHtuKcMjG7RU+fDSXqf+3NuE/40sfQ9iCOy+Bzm1h1UYnWHz4Ta3+r2hag0ukROtKYIRSame9NSryLXChUmqZiPwN2P3Ls1MpdY+I3ABkKaWu28d+dMCo7C//ht9dDJ7YHE0ES+G4dlAcp0ZoTblc8OC7MHycM0YSjUBxIZw3GjavS2gXPa+ewIA7f48rObafgaDBulBbzNQkPEbsZS0bg8Ifl7Bu7BRGPjqZAecNx1aw00pnl0on+sGnTDrNV3XgHFj49nJG/TYTs/IoM2BHFRe7Xgag31AvUz/viOEC0xQMAzbkusjp6qPi8IYdVUQxCJrlQVNFbVbO3M5dZ61h01pdQ1Vr1mq1cC+R1CAbgHr4lYlxBfCKiCwAhgB3AfcA40VkBTC+7L5WUy/eD8GAc8S/W0kxvPKv+gkW4MwLveI3cP5Y+Oe1cOMfYWK3hIMFwNpnZxDJD8QszrMCQXa8OYOlbY9n+wOvEgrZJFGCnwCWDeFAhK3XPcwpX1zIkDP64DdDpLhCdGAzKZ99QK/IEuKNg6AUPr8QLomTHRAIl5T3Ycm8EMd0WM1t529l6t35bIxkk9UldfeM3j0MU3CZCqlwUUxMgz5HtOLN+V3o2mcv+ao0rQVLZLLgapwCSv+jngooKaXmA/Gi29G13adWZtsm+OMwuPROOOQoyN/hBJH/vVT/bS2Z59xqwSos5cuhN9Pvb6fQ/qRhWMVBVj3yOase/RxshUz7lIMu7YFhesEQxLaZ+fdpZKcFaTOkHe7k8nEEl89Fl2N6EP1iAyIq7lD4ttkb+H6ZhzEX9cLjL//Yh0stvn9uVcyzQ0HFF/8t5v9e7YLp92KaoXhhCHDKwVYMQ0oMklIMrrqnDdecvLlWfxtNa64SCRjry266gFJLsXkt3Hxm/Md8aXDcLTD0dCe1+cxn4Mv7nKJJjSy0rZD5lz7P/Eufj9nuTvNx9IeXVEh9rsAQRv7tGDa/5MKT6q2yLzGErbt8HBzYRH5y+7LFfI608A5mv7yKnRtLyemdSp8j2xKN2Jhug2UztvLO9fGD3uBxziWsKCYuonGDRjTmJF3hJoJpCsPG7D0Tr6a1VPsMGEqpvwOISKpzV9XTZH6t0ZluuOZHaNUN3GUzqcbfCL2OhEebz8ldl5OHxMle5gQFX8csIqVh3Emxxy7RSJQln29i+KAs2vULE/WnYWNilhTx40tr9qyjePiEr8npnUbbvmlsWVrI1uXlU25Nt3DwpHakt/Wx/Psd5G+PkNnOi42xpzu7g4YCQspdYaNTRzwV5+uxa3v8y1+a1pIlMktqIPASTppzRGQHcLZSalED902rb4NPhoyO5cECwOOHLodC18Ng7V5WkjUyd1oSEmdw2vC42LmqgK5jY6OJsm2UZbPincU8sSiV6749FndUAJuw6cfISEMMQdnO67Yujw0UAO36pHLzjDF4kkwMl4CCTQvzaVscJSlFCOHDRQQTG4Vg4SISNdixoZjsLj48hkUyAVzYlBTbPH9/7fNOaVpzlcig91TgWqVUF6VUF+DPwFMN2y2tQXQdCb7UqtvFhM41njDRYErWbsP0VD2WsUrCrH17Pu9PeoFAbhHhohDh4hAFa3bx9riniAYtLnxjDHZKCgEzjYCZRtibzMATOnHE+T2qbfPqd0eS2sZLUpobr9+FN9lF+wEZ/PRVMRHLQCnBwkMIH2G82JisXhDgvP4L+Pm/6/GVFlCaHyFYavPqQ7t495nCattrnQkv3QuBec7txXudbZrWnCUyhpGslPp69x2l1PSyldlaS7NjFYQC4K30v8+OQF7iM5xqyt82lV5nDMEc1I8dtKFg4UaKX59GdHPVpTapnTOY9PKpWEaYMF721NyOWGyatpCt364E4KkOd9N6UA62ZZO32NlPmx6ppPbMwRJn1biNECANK7kVR9zkYeaLa/bUxKgop0cyrbv4MYzYUQpfiouU9mlccvCP/Oe7Abg9Bt4kg3DQJmrD8p9LOX5KO+68dBv3XLGNtp1crFseobiw+jzlLhfMfN1JAbI7g+3k42HkQdD/hPLkhJrW3CQ0S0pEbsG5LAVwJrCm4brUENKAIND4A7vNypxXYNKdTuGF3fNEoxYEC2Hxxw3SZJfj+zLhrTP51TucHWZb3Ji0tqNk3XE5Wyf/hZKPZsQ8/+BrjsD0uXBLEDcW4bJ5FqZdypxr34L/Z++8w+Sq6v//Ovfe6TPb+2bTeyCEAEmAEJpICwgI0kFCk/ZFFFRERKwg/hQsNFEREUF6FULvIQJJSG+bstnsbrJ9p99yfn+c2TI7s8kSSEHm/Tzz7M4t55y5c+d87vmU9xuVvuoOuWle3ETf0vCa/UuRmjIWFjpNlCHRVAB8WJDzV32Xh6ffSbQpPQznDRk97qr+cHk01i2Jcu7oBZzwrXImHRSielyAgnI3X72gnGTc4YJfDOPG2cv45M3BpS2fcDiUFaXTnbtdUF4Csw+Dp14ZVDM55LDLMRiX1BygFHgi9SoBLtiZg/r8cDBK1qMZ6AQeBLK4ZL4siLXD7w+FxiVgxsFKwIZ5cMdMlTH1OUNz6xz9r7NoDdTQbFRgp2jL0Q00v4/yh36N8KZnPJXvPwTdbSAAFxYBogSIQixK4fhSDr7pMK5u/T5XNl7LVY3XsvcF+/ac6wp56C5EbaMQB703W0rTCVTmcejtverChVVebnhpOr+aP5NQwMHApG+0PRG1ePfBjQB0NFs8+PN63ny8jfwyN96AjqYJvH4dX1DnR4+Oz6jVGAiTRkPQn7k94FX7cshhT8VgsqTagC+gut4oFNluX3rvrwOVfKnLPTZ/ArfuA8FSZSSibTutq6qZIwBJPdXYWW416Th4D92f2Evv9mzburCBimk16O70am3DYzDq2FHse8l+uINq1WGUGXzlD8eS6Iiz6onlbFnehm3joF8AACAASURBVBm3cfk14njJoDB364z62kRAFd797J2DKR7iRXelZnqp0mJN4SLWZdG4MszcP6TXaBx1fhm+YGYlucsjGLNfkJX/3X4S4cp1EI5CXj/m+UhM7cshhz0V230mSokZFfR5XyiEeGnnDuvzwNVklo14gRnAuF0/nD0N4a071ViAospQtILbYHCx0/39C373DnYifbVjRk3W/2clUy6aihH0YKERwUcSF+6Am5k3Hw7Auncb2bKiHStLnKJnTCnX05RjSgkWu3qNBWrxYyVtVrzexD3nf8hNM14nGetHT2Jn/yxiG/v646lXoa0TzF4RQUxTbXv6tUE1kUMOuwWDWUSXSCnbu9+kVhxfAOrxiWSvM0wCI3bxWL6caHh3PdJ2GMImdLK4vCTE3konHe6obeXxI+6jcX4d0pGY4SSL7/mA+be8iRksIEyQCEESeFnOeJYyAX+N0vPKq8mjgzwszYNPxuhPfWsnLFY9uhiA8pEBDHfm7e/y6Gxc0MaHT27OagBe/EsTsXCmQYp22axZMDjNDNOEA8+A594E01Kv596EGWekG5EcctjTMJigtyOEGCql3AiQUuH7ApD+vQccBPSvuPUAS3b9cL6EcCyH509+gNnPXUCFp5gG11AkAiwLO2HTdMrVkMycIZs+3MTD0+9Uj/xSIjTBuet/hCN0BEpVT8NiGBtYzRhWyLEg4Ow3ziNvaB5RQ6e7kE5KVdRnxy3Cmztxr1jMzW8dhKaJrFTqsS6LtR8OHLx+7Z9bmT67iBmzi9ANgZl0kA7cfPLyrO0NhIatcMpVgz8+hxz2BAzGYNwAvCOE6E5nmQVcsvOG9Hnhj8DlgIvejxlBsannFGp2FTa/Vcv9Nb9g1Cl74ZswimZK6FrZSOTxl3Ha02sVRNCPZ9pk7NYOzIXLe1YIQ74yFne+FyH6y7FCIW00+IoYceq++Ev86Iae2ifwEse0YetHDXxwyztc/JMyKm8ciTeg7gfHdrBMByPlljITNh1NCT54vCGtn1C+xqT9PbRusVm1OMkvz1jJmP2CTD40n85mk3eeaMlYdUyYAJUVsGAhtO1cz18OOewyDCbo/aIQYirK+S+Aa6SUA2iF7UnYAhwA/Ao4GpUl9QdghzkTc9hBJDviLP/bh8DAmlfBK86i8NfXqhWHrmNv3sKWYy7GWl9PoCpPrTb6QUtxNzmxJMGxFRn7BeA2YNIBPib/rJLKkd4eYwGg6RrScejcmkBognmPbeZfP1yBleyNq1z0gwIu+3EhyYRENwR1a02+dWwDqz8Ks/qjzAB3aSk89QSMH6fcSx4P/O52+OnPP901yyGHPRHb1cPYk5HTw9jzoBflUX79eeSffBh2Z4Tm3/+b1vuf3+Y5npn7UfbivWiBPrmmjoPbilI9/0m8q5cy8vyDQUvPTrLRqKeKloiPldMv5sL/XoDLl04rLrCpoIkiewuuLLpS0Q6Tu+Ys4oMnGjL2zTrOz68fqaQrWE4bhQgkhXYzWxds5swDsq9S574IM6aDu0/4LBKBiy6BJ5/a5mXIIYddiR3SwxiMSyqHHAYFLehn3Ef3Y1QWo3nUjFn9h+/inzaRTZffNuB5oavORvj6ycpqGpbbR2DmFEIHj8QjGkn2Ud9zEJi4aA172HjzP4g3ddI0bwNVM4ag+VSFuMDBhUU+HWo1IZ3MhYqArpbsBZ3nfLuATcFxJPD01HM06VUEpoSoGdlIXW16IL+qEqYdkG4sAAIB+L+rvlgGQwg4dDTUFMJ/N8CKpt09ohz2BOQMRg6fG4rmzMYoLegxFgB60EfRN4+n6Zd/x9yUVXUXvawYkaXqTSCxMHCEQSPl7MMitlBBVPrYGvVT+0mEDbfcyughMS7ceAm2aaOTxJAOjtAI0UUJLWhIHDQ00lN4HUcS67BY/lZ2Mcm80SUpI9U7NolORA8x9sBC6mq3ph2fX6DcUF5v/5aguGjAy7bHoTIf3rwaKvLUe12D55bAWfdnZEHn8CXDYOowfiOEmLQrBpPDFxuhrxyAFsjUgZBJE/8BEwY8L/rUqzjRWNo2HcX+2kIJGxhGO4UEiDCZT5ghPmDom/9kwUHfxVW7mqNvm4XLZ+DN8+DyGQgBhrQopRk9ZSQkGls2J2mI5bPUHs8iuTfL4yO585p1A2Y31W3x4pDFjwVMPyaPj1e4qG9z8Z/XDfabJli9OjsPVCIBL7w44Mff4/Cvb8LwYgh51cvvhuMnwZWzdvfIctjdGEwdxgrgXiHEB0KIbwkh8nf2oHLYwzDsAPjKdXDgHCXANACStfU4WdJk0TTM+q2Z21OIP/gkRlsLJJWgo45FAR24MVMJtC62UsYi9gHAMh1MR+eo70/mqz8/EMOdfVIP296e4+MRi7nP2tQ51Zi60v02/fkc/fdTKZ+SGTAHcGk2QmZ5pHYkZ3w9yajRgmBIcNAhGk++7OPkG8Zy62uT2ZAow0olTcVi0NICv/l/A378XY6KArjiGPjObBhTmb6vOADTh5MR7wl44LJDdtkQc9hDMeigtxBiHIpD6kzgXeDPfVlsdwdyQe+dDCFgzsMw6TjQPWAnQDrwp2Oh9r2Mwz1jahi34O9pqwxpWsRXbmTl3mdn7aJ4bBFz3j4b6fWwLjCJdYxEahqKOFakCRcZmMzhPkzHRSLqYHh0Io4X2+3LyKKSgMeKEpm/nLpPOpj7x1rOfP/SDLU+23FY+/xqHjvx3+njqjB4vHYC9b5RPXET1bCDhyRHOq8AAh2HZop5RfsKpi2wpY5j2ni2bmbM6ld55WXJvX/ec1JrzzgY/nKZ+l/XlIvptmfgJ6mPX10Aq38Mviw1r3VtMPTGXTfWHHYqdijoPSi6NCGEDoxPvZqBRcB3hBAPf9oOc/gCYf8zlbHwBMFwqb/ePLj4CRCZt05idR3rTrkec3MzdjiGE08QmbeEtUcNTEX29YdOwFfsJZins7e+ghP1F/DLGBJBB3k0UkEDlWyhlIR00RgtxLbBE1S0Hj7PwE71LdEA9161gr9dtoBITEszKhIVOEczGDl7ApfWXs2Yk8b37B85yYOdsBjCJlwk0bAROPiJUiSbeVA7l/u0i3hQO5uXtK9iCjcYakwuv4tYcRU3PjSaW3+95xiL4hD89TLwe9TL41J/rz0Rpo5Ux9S3Q32WusWEBY8t2LXjzWHPw2AU934LnAi8CvxSSjk/tetWIcTKHe04ZYQ+BOqllLOFECOAh1HKfh8D50opv+R85DsBwTw4/hwYMxlWLoDn/wnRAQjzDpyjjER/uH0wbH9YPz9jV9fcD1g65ETco6pxuqJYTQMrzwVK/ZRNKkHT041PntbJZllFXHjpfqaxcNFEBZ1OgGJXb7zDwMIlTEzpAtG7IjFxobsEnRtVcWCkMYzh7b3dVR24qhsXAgpGFHLCg6fw5CmPsG7uWuprk7g8qvhvFKvxEkdHspEaFol9sYRK340QBClxk8Sgt3jPE3Tx9RvHsfqZ1bRkj6n3YNhQOO8sKCuFua/C8y8qBvpuTNsPTvu6qmN89HH4b3YJ8u3i+KlgZbGvXheceTB8XKven/sAvHwlGJraF07Ali74+ReAQS6HnYvBZEktAX4kpYxm2TftM/R9NbAcJVYBcCvwOynlw0KIu4ELgbs+Q/s59Ef1CHhwHnj94A8qQ3HZT+CsadBYp44JFCiBpdb6rKsIIFWBnVlI13e/7OhC2w7ft9Cyt1FDHQuZQsYC2JEsch/ACP7T2wYQIIqJQTsqvGZjkIw6rHxiOdFmddt6893omEjcacaiL1wBNzN/ejjr5q5l8zqTj9+IMP2oALqhDJODzjIxEYv0Wg+ESvHtazAAqmsEnywTHP0VyZLF2a/B8cfAQ38DXVdFfmefAQsWwTFfUxlXv/gJXHEpdLPAXzIHfn8n/PhnA13VgZGl9jHrvnnrYPzP4KIDYXQpvLkGHvoQornHty89BvxFCyGmpiq8FwLju9/32Y6UcnCKMZltDwGOB+5LvRfAESjeDoC/AyftSNs5bAM33An5xcpYgPpbUALf/z2EiuEHL8DdjfC7VfDHDbBpPiSyrD7sJGzMXrXtG1XJ1Pl3cGDdP5ix/n4OWHwXgb2HZz023BSheWUrjpP+2GsnLDQzy+yk62zsLMxgozWlQRtFmNKNKd04jsbKJ5bz/IXP9hxTOLIA3YqnSBAHDn0Vju7Nf338N5vwOVHqqOEjDuBjpmJmJbQkZYB6oUmLcXI1oRDcc1/2mdrlgr/fC36/MhYAoSBMnaJWHJMmwJWXQsCvDIquq/+vvgLGjRnwIwyIFz4GI0t+QDwJ/+4Xkqpvh5v/o1Yb972XMxY5KGxrhbGtvA6JmuB3FLcD36NXzagYaJdSdiclbgKqP0P7OWTDjK+oWacvdANmHgvXvwg1e4MrNXN5hsLsK2DhfBg2DVx+MGOAhPtOAyeTsVW4XUx5+ze4yvLRUv34Jw5lypu3MW/4+didmYvUx896ljlvn4Xu1nEFXCTDSazaWuxxImMNI5Mmzc/Oo21mmFC5D0/IhYNGiyhBIug+Q0rJ+JPHU1ORpGlZG2/+YRktq1ox3DoCEwOTKFlcbUDz0t5srqOOFdS7hhEhkFLuAw0na6qtEoR1UuOQBIgwxlmNpgkmTJAUFEB7e/o50/Yj60ItGICzvgElJcqo9IeuwezjYOUdWT/CgNjaCZf/Ge68GDShRBdNC/70Esxf8+nayuHLiQENhpTy8J3RoRBiNrBFSvmREOKw7s3ZhjDA+ZfwhSA/3ANh28pA9EfUhqrxvcaiGy4PdCyFO38CYw+HcDN89AhEsjvlS06cjh7w9BgLAKFpCJdO5UXH0PHecuLrGjGbeqPAW5c187thdzPptHHkD82j/r8NrHlxHRUfHgVTJve6xaREaNDxi3v5nddkwuwRHHHleNxDijLcS0ITGH6DYV8ZxZhZYQ6cM5a7jp+L09GFXhhCQ8NNIk0zHJTuxls3vNrz3vH56aCwJ0tKACE66ZD5ae46gUMFjUoTAw2PjDPMWZ8yMWr1sddUnVXLbLY09lH0S8IAXjliMVW/YduZRsN2IBHPft72cP8b8NoSOO1AFfR+5kNYsnHH2srhy4cB02qFEEdIKV8TQpySbb+U8okd6lCIXwHnAhZK0SgPeBLFEFghpbSEEAcCP5FSHr2dtnJptZ8Gv/g7fPV0cPcxDIk4vPEmFE9X8Yv+WPgi3HLsoJof8p1TGPnLb6J5eme47mwkx5LY4Riax03L0++x6vzbkNlqNgD30HImrniIqK+YCAEcNNwkCca2UNy0gsJSA2nZuENuhmp1eLNqtUtCdBFCudS2ru7AWVPLiGNG0yQqsNARSGIEsNFxyyRFVhPv3r6AR7+3EICvnlfKBfcfiC3SZ+woPlrjfhxh4DVMyvVmgvRqYWjSYoq5kALZTkT4SOoewl0St0cw95kk3z4vTDKp4gbrlkF1VfrIw2H45qXw8UJY8iH4+9VCxmIwbgo0NA7qa8khh2z43LmkDgVeA07Isk+i9L0/NaSU1wPXA6RWGNdKKc8WQjwKnIrKlDofeHpH2s9hG7jlapUdNWSU8kc4DqxfCb+/Gn65MPP4RBSWDb7Upmv+ShzTSjMYDgIpBcLQMAqUG6joxBmMuO1iaq++M2s7oSP2A8smRLhnwgfApyOG1WAIlXklgWZZQrXYnLFEFSkm226Ujg4xfGQQt9jMEDanxgZxfLRQSkpEnKOuHMW04wrRpMPK99pIWgK9j72w0ElKN5q0qX2jnhVPruSy24YSRV1Sr09QmdiAO95Gp9uD4/egaYK8AjXCE051c+h+fn5yTZRHn4OTToeXnlGxBV1XbfzjYXj6OdXf5d+Gu25HFQJKMAy45Mqcschh92C3stX2MRizhRAj6U2rXQCcI6VMbOf83ApjMHC54KBDwOOFd9+C8VNhxHhYuwwWvKOOufgemHm2ypACsJLQ1QLXToRI+8Bt98OU128lNG0cul+tYiwn5SzvBzsa5/3QSen5oylUfv9Mqm48X0V40/IyJHl0UkSfwgZpM4L1uIWVdpwLkxKa+xgSh9Gs6XET9R4J9QxBomGQxEui5xzbdLBtSdIxcPtdmBg0yxKkSLnApMSMWzx89kvss7dFYbmb/9zXQJ4WZZ8pcM2vCigqzRJldiR5q1q5559w3c9VwPvYryq+qTffhjW16YcXF8FxR6vktBdegtY9pK4jhy80dmiFMSiDIYQ4HpiEciEBIKX86aft7PNGzmAMAgfMQDzwaCrYLcFwIb/3f/BYv5rLH/0UZl8DjR6wNfC0w/eOgWUDa1hkg+ZxUXPdqVRccBRC09Cqy9BcmQtZadm8H/oaTrzXneSuLmGvV27FXV2CHvCCJrBUpQXd7LNVbMbVT+41QCfVKHpyDYdASsi11zhIAoSpTq0s+sJB0EglNjpBwpnBNClJtkUw8nxsMSqJ46N/yM0wo+wfexskuNyCB37Twl0/bmZVVxH+YJYghZRU1reSjMOombA5xwSbw67Hzqn0TtVEnA5chfqlnAYM+9TDy2HXw+dDPPQEorAQkZeHyMtH+P2I234Po3rzMrWrrsT/vUsI7RMmeFQb7sO6EPu6EH/846fu0kmYbPj5v/hg1BzmjfgmHa8vQmZZRcRW16cZC4AJT/wY76hKjJAPoamcJ0NauImjYTGOFYxhNSVsRUvVPAgcfDKOg45EECCMj7iSZ0WtIGx0imnOmkUhEdjoGUy2PRACX4GbkdT2GK7+sA0vnjwPwXwdj0/j7GuKmTU7yH/fM3GczF6FA2vLa1g3fBi3PVRG5VBlUA0drjsPap+Ghpfgrh9ASZawEij7f+3FsPZNaPgA7voZlBZnP7YbY4bCo7fBltdgyeNw7uxtH59DDv0xGGqQg6SU5wFtUsqbgQOBmp07rBw+Fxw1QLBaNxCnnQWANmVvgr/+IYZbommgGw7eQByXz4YRo2Dk6M80hHXfvQcnEscx1arAsWzsSJy1l/8h7ThPTSn+vUdkrEaEgICMcChvMoTNGNjk0UENdWhY6NgEZBdWwkrFLAQxfGylhCbKaKOAGD7aKQTos+ZQq4s2CtK2Z4Oh2ei6SIuJpI9Rovcp2vMHNb5xRSE/+26UaFji2KnWpQQJXSJA0uXGMQz2OjTIox8Pobhc59+3wE0Xw4hqqCiGOSfCRw9CFgJgHvk93PxtGFkDFaUw5xvw0TMqJTcbhlfBfx+Ck4+A0iKYNAru/CHcOMh8Q58bzpgGlx8O4yu3f3wO/5sYjMHo5mGICiGqABMYsfOGlMPnhkAwa/xAuN1KvAHw3nITCJFW6SsEeHwJlfMZCmWc/2kQXbKeBVMuo+mvLxFesIbmR95k0YFX0/HGorTj9JAfaWXWdoB6ptf7TOkaoGNTQSNlzmZaGi3m3/YukfpOLEdjM1W0UEIrRTRRwRbKSODBTOV4OEACN60UIdHxEaWElqxFfQKHEF04CIbKDT0rm5790qaShozYSKhQZ8USm6P37eCFRxNocQtPzKSLAJbWRy9EF/gCgmuvD3D0genGwe2Gojw457j06zF+FMw+Ij17yu2CsiI49+Ssl5DrL1S8UX3LcIJ++MEc9XdbOGAEbP4N3HMu3HYafHQj3HXOts/J4X8TgzEYzwkhCoDbUBxP61HB6Rz2ZOSXwPiTkGvLcD7x42zwIFMPyDIcRs5Vsqn61MlZKSOEAGHosHQATotPgXhtA2u/dQcLp17OqnNuIbp4XcYx0RV1WW9GgUORyKz70JAEZITWVW08OetO3r7xdR4+8VGaZTEOWkr0SP1NSA/NyTww7RTrrY2OQx5h8ukkjzAaEg/JlGtKObMEDvm04yOBJVxUigZq5EY0aaNLE8eyKTKbGMuq9M8bdXjl34rDakOtw7fOjHDZ1zowGy0cJ/NTerwahx2kYWexl0E/zNo3fdshUyEbo7vHAyceluUiAjP3zV4EaJowdhsOZk3AM1dCgR/yfEobw++Gc2bA16YMfF4O/5vYLpeUlLKbteZxIcRzgHdHKUFy2EXQdPjde1A2DGTKGrTryIgPOXSrSsOZfgQUV+HUN6HlZ19FOK/Nz64INOhxaOhHfwV9xjRk/WbMR5+AtnZ0l8bEU8ZQMaWMltVtLHlkJaMvP5xSo5VWvL2kgDgYWFRlCVYjJZvereOfh9zfsylY7EqRAvajOhcaq7qqqXvufY47I4DXo0yJTTonlgC8JBSLLVBES5+VjcDGxVBRR0mkjt/cEKZ6hEZHoc24r7txeySGoRENO2xen+Sxe9JTmZ6eC4uPt3hsgcic7KWkqlJCph0lnoBVG9K31WQvUkfaEBrAt7ZmI4wfnrngdLth0zaC7tNHKgPRH0EvXDwLns6SjZ3D/y4GNBgDFeyl9u1w4V4OuwDTZ0NhObj6/tKFmvyjBtSMh8sOgEgXEdsimLDR+9TySQcSrS74yTWfumsj6EVKie1o+F58Cm3cWEQoiIxGcd/8I8Scc7nwjxMJlXrxhNwkupIc9atD2OCbgMtn4aWBTkJYGPiIkUd7itQvfXJ3LIcnTnkUoamg9NdvGs9BF41jicgejzAKQ6w59XvU2U8xis0YmNipCm4Vz1ASrgJS7iWZ4Wbqvo4er+TSn5XhC2pYcYt2KVj6QiMuafH2c2FeeLCDRDzz3NoVJhuXJxi9jydt5hZS4neidEZV9bW7z0rAtODP/bTA160FJw56/6xjYNkATLa3/A2OnJ7u8orF4bm3YcvAhMK49IHjO56cwPOXDtv6yrsL9sqAg1BFfACHA2+wg4V7OewCDJ/UW0/RF+VCxTW6GegCIbAsIh+tJLhvESJVcJfcZJH45vmqTmOQCI6tZOrfL6NgqgpvLasN0VA6AeFTM5TwK0d54LF/0OV9noRmUsJWPCEQfg+uFAOsG5MSWgGJmwQaDh3ko2PhJ5ZyJ9n4zHa+esMUpp03Gr8fitxhhLDxkEylvvbCASJaAD3g5cnWY/lG3Z+oGuHGZSRoFiU0UYkt1DUpoI0KmtCkgybslGurj6FyJKajUxCyKKIVw6dWYCVf9fDVyg10tm8703veAw1M+XkZEX8AkAgpcQmTrppiYh6TTa+2MmWkREqorYcLfgKb+4kV/mcRJBeCbxLQrX8Zh9hS+PurZMX7i+CcH8KffgiFIeVy/Pdc+NYvtjlc5tWS1WKE4/CPeds+N4f/PWyLS+oCgJQbaqKUsiH1vhL4064ZXg47hLoVkIiAv5+cakhmkg8aBjIwnq5T74OioVA3Fz64G5xeV1TJ4ZOoOXcmQgjqHnqXliVNeC85G2PSGMwPFuCJtDPi9m8RdwniWgcSDd/ocsqdDlptA0v2PjLH8REhiCBCI5VUswmXbiNk33lJ4kmlxqqpWmBj0EE+jZQzljXk++Cgy/fG7XLwE+lhkxrLKpYyCQsjxe2kajnau7OhDDffObMVbdMmqvav4OzH9sbl7x1fO4U4tsBVu4phQ7YS9paqUQgN23SwHIH0uCijKW0FEvIkuP/1Sk7ZN919NmSUm5MuLaZimJsP5naxfHUbhfVNDMkTNBYWkXAZCKGMkq/cjTyxjGmHbKVhg8PWAQr0Gjvgugfg12equIRmQCwC/3gX3l2V/RyAp16Hp9+A8mLoCKsVRjcK/DDnUJgxGpZugnteU/0kLTj7PnjkUkV66HVBVxzeXwv/zBmMLx22W7gnhFgipdyrz3sN+KTvtt2FXOHeANAN+MtKKB0CRsotZZkwXipVnL5YLuANDZK2mnmSXdC8GB45HOwke99+HsMuPBw95cjujLtZZuyD40iE10PA7sTQZCpw7gACP2F8JHGkmvJr4yOJS/XUr2NxrPc/BLQoIMmnjQI62GIX06UV4AgDDRt3n4rrblhorGE0GxnONPkBB4j5uLDxE0nVXiiYGLzDwSRwY+Gik1APgaDVFWPezBvo+mQDl7xyEqOPzMwQF9JhijWfu/5vDcOrk4yblkdHl8Fbz0c4/PwqZh6qPocLC3efVNtkUnLq1AZWL1XbZhwT4pePjcBwgcutEQvbbKk3mdK6iiEjoKWsGFtLf2azTMm//xrlR9/qRAgYO0KRFK7fpFYG1cVQ2wDRBIyvgjMPVJP4kx/CvCyMsyOK1Fe+unng26WmGP57s4pLBDwQS4Jpw6yfw6IUMeGQQjj3QCgNwUtLYO6ylCxKDl9UfO5cUt14QwjxEvAv1EPgGcBu1fLOYTuwLbjmILjiTzDjBOV/mPcsdBXB9IN7KVJNlLGwlFQpAO4QlE6GCecQknMZdvERGP7eAMd6/0QknhT1UhJD76sEoYxRlCAe2tCEigUM8WxiTXwM4BAQkZSxABAq3VW6yaeLfCKYuNhK9go0A4cAUSxcfCBmMIHlBAkTx4OP3sdlHZtC2ohJH1IIimmljQLaKMRsi9D1iYoiF4/OXhUnhAMuN5f+ehjHFy/CMnuJBSunVVE6a5xiBkEQopMxrMHAxnAJRk50sXqpiabBj/8+FF+g10D7gjoThnZQVCGwDEmR2YIpXHS4CpAp9lvDJRg9wWDWNPjn7VCQp65qvA78tjIeLh1ufRR++iDc9Hj2W2BiOTx+DgwtUD/arRE44yH4IAsz7W1nQnEfT6XPDR4H/nwhTLtJbdvUBr96IXtfOXx5MJgsqSuFECcDs1Kb7pVSPrlzh5XDZ0ZbE/z81PRtv30KnNT0LoDNIntitSsI40+nfPgWRB/5VBuNKL1J+26SA+juSSyMnqdvr4jjTk3oB3n6KvUoV9RaMRJb1ymgnSJaKKSNLvIyWrXQaUsV4Gk41DGU8awgjpet6Fi40XDoIqQIAoUaC0ChbCcZsyl+82FumzedTSvCtKxsJr8mkEUZUOAhgenSGLuvj2XzlYEbO7OE/c8diyN63Xpd5LGKsUxkOQCVU8u56sxKykb4iedb2HSip6rIfU6UEVo9mrf30dwlTfLNdtrdSrgpEZesXJjk+b/0KcLbAj5dd/nILQAAIABJREFUMap7U96z606FjVvg/rmZV99jwBuXQrGvN7YecMPcC2HErdDaT5bk2MmZwkqaBvsOU/3Fs9cr5vAlxKDyHFIGImckvuhob4EWwKupb96E7IwYEhIdWOE40nIgtcAQ/aKfMrUlkyk2/ViBZLJrETXGph6SQAcw8bKVsh53UQwfbRQxkrXY6OjSJiZ8hAniJ4KOQwNVPW26MJEITDwk8Pb02iqLM/RINSEZ7mlgxjd0XJ58Ru0XIpJ0qLedVNGJOl7DZgh1aCg3WyzSe4GOuXYcLl/6zCrRCBMkhpstdjEHX12F7tHRNEGXdIhSyHA2oONQldys6jz6jE2gjIbuWCQcnVhUojVEMYyeDqAT+jtfgz74wenZDcbXJoJHz0yhNTQ4awq8shKG5sHCJtgSVQYhL0s1ue1k1wDP4cuLwRTu5fC/gif/DMkEmBrENMjXwJVljaADS//K5sc+SNusISmkFSFVhVkCT+a5KRg9BIEOIdFJyOiiRRSRxIWFTiuFdFCA7PO0LtFJ4KHDySfW5fBOx2Rel4fzkdyfNziC1zgCq88zzjA2qCI92SugpALU2cdkaW5cHtWfbmjk+S0KmtfidSLoWPiIMpJaqtmMlLClLsm6pb2uruIaP1oWxSOBQyd5NOpDcPmMnmOk0LClrrTGpcRvRbMLazsQ7bR46Yk4X9u/mdKg06Ph3VNHmAVlA/BMVeZlL+zzu+H7B8KH58MjJ8L6y+COI+He11VMpC8SJjzxYYpWPYccUsgZjP8FjJ4B3/8P3LEBrn0WRuyX/bjF8+DumyARg3CninUchlpBGKmXBmJUF/qWN0k2d/Hf0+/ACscxO6KYHVGGR5Yja9fjhCNE1mu0rS3CscGO29hdUYRtEXS6cGwNxxG4HIshbMKfaGeLLGcZk1jC3jRT1lMg1xcOOp2EePlfrbS6y3GEgSVcSDQcqSOkg5sEJ/IMBrZqI+2JXWYnEpSSfJFZb1pS5PDYnFcYm1zCPnIhxXIrjhS0N1tce+zqtGOXvtKEGc8yg0qBYSWxEpn7pNDosAJYHXH0hBwgUizpmtvGCaF2bjrPZvEK6OoOmygelMzr5MDyFnjh37B+ETzzEOyfqgh/b332lYFpQ7kbAi4o8ILPgAsnw6a18PpyiCSgM6pSZhdthMvuzzLUHL7UGEyW1BHAPCllpiDzbsbuzZIaBdr+MGYI5LXCureheTcII+99FFzzJLh8vaJIZgxuPQZWvpP9nIISmHYk2kEHIU47D9sMwCYXAgv38DhDqlYTqpvPov2uQNoOvmMPofDoA5Cr17D1/pewwnG0c67FOeFnYHjRPRa+ok6cpCTmCeAttPF7wySSHuIJHyeOeowuS2N1UwHB6iAen5JILaI1S3GcpNjZwkuxwyCQWUuiS5PLnD/h0tV5CVPgaDpan1hLAg8d5NHjHHMcdBwO0D5MF2QCknGbswpeR3dpHHx6OSPHu1n8eivzX+zokeoIhgSzjvXiL3Rz6M8OxZfvwkg9wmvSpkbUUUQbC+XktBUTqLqNpo+b8L89n0tPimOVp+JG3UbOkehdEq9iZ8e0lLFoiCtiQZ8X6ALZBN3eLMuCZAAYrehAur/2WByO+wa8/T48+004fJSKXQBEk+AVoHVl3g7LmmHSX2BiNUyugTVN8GGWqvMc/qewc/QwhBAPADNQ3u+3U693pJS7XcZl9xgMDfg9lBwPl1eDR1PzkmbCxw/Co5fs2nzD25YrPe7+qP0Qbjwg6yli+DB8Lz6NyM8DlwvhcWMYNprhoAkHhMTlJEl+/8e4Lr8IrbRIzVS6Rvz5N2g96ztw90Yo7E9bKsEvoI/kqOZJ4q/uwBAmZiSJ8Lgp0FspD7ZTTlNPdXXfNqbJ97mLK3syh9J3O1xo3Y1PM7GkxtYmm6JC0mopQGLiIo4XExcemaDKXE+lbMDt6WNYYjbvPtrEHecvGfDyHnmil989VNTD8yRdbl5eWsmQqWV4RYJqUU9xStBpIZOJSH+a3jemxaH1b1Mc3qooSVxg5Qlsj6I5NyISVxv0VZlNmvCXJ6G+A846EWIJePllmFwOoyth/kqYfiqMHpU53o8WwQFHqHjFpdPhomnq/2eWwrf3An8WPqnNYajOVVZ92bDzBJQAUky1pwLXAlVSyt1ODLB7DMa5wI/guhFQZvSmqAIkwvD4ZYqTeldACPiHnd0vbiXh/OwxBt97ryEmTcSMBTFjXnz5XfjyIv2acfAkOhAuA2H0ftXSkXTc9xzh/MvA5c1oGw0Y2XM0/uGtaEY/BlhpU+3dTJ7eSTEtaS4knSRBGeUjsT+dPauE7uYkJTRzpHitZ5OdtOhavJ7hewUx3FpKDU8FxN1YfdqWFJjNBJwuzJiN4dFY/Horvz7tExJRZQ00XfD164ZywlU1+EI6K95r57hZHeT5eosYHQT1sooS0dKbyisleYkuDMvibe/BdIgQsYiDy6MxteUTpiR6V56Oo0ISXXHweUDGwZvFy7V4DUw+NXN7z+duzv61mxZ4yrOfs/EyqOmXfGba8MASuOjFgfvanZjjgxtCUK7BRyZc1wnzc1lbnwd22grjHOAQYG+gGXgHeFtK+f6OjPLzxO4xGC9DyV7w3TJwZ3kCXv8+/OGgXTece1shUJi5va0BrqzK2CxqhuBf8B7xeCl2wg0ICoc0ohn9nd4Sr4hnnZSwHTY9ORy0LKx0LnrktTSvia+yA5HFBx/Uuqj2bgYkRmpiNzEYSh0CiOBnCXv1MM9q0kITkiN4jULSJWNHOqvQzARhTzGKtFDlbzkIkrgxMfASw2tGefePi1jx5Bpsw03FflVYCZvFj6+lc3OEb/9tAjNPK8cbSHFMORJNOIwQ63tU/qL4aJVF5IuOHoW+4mgrASvW415rJY/2mBtrZTsTazLJGxNJOP0qWL0OPvynMhx94Tjw4jvwr+ehpgzmL4dX+wkfNq+Boixfe2MTVE3M3A5w9Ah4/GR127p0iJkQdcHdtdDQBY++D1v2IFrR6wPwwxAE+/zMIg7MbIaFn4ETMwdgJxbu3Q6sBe4GXpdSrv+0newxEG6Qye0ft014VWbRQOmG7u2IC3zeeOG3cMIPwNvH3x+PwHO/zjxWCGQwhGNqPcZCbVcTnVQsfAg9M4W2LzRNUjyqhdYNZUinjzXQHKXInsql2JY97xWiE1i4enQnuu1TgCj7sIgGKoniY5xYSTlN+PsU6AH4iBIQUdo9RaleZc9LA/zEcNAwcbHBGIZ0LWfo0eOYec0UNF3DcSTH3XowL33vLWadXoq7T9qs0ARSKpGlMppTrasrEyZAgAiGYxGwomnZI0V0EtAgMYDQkGXDouWqevv1+XDENHqzooB4HA4eC4eMV8YkloBP1sBXvg3dIoW/vRNuui6dX1Ja8OwAhXwAL62DaQ/ANfvDmELwjoC9J8J1U9SYfn0OnHk7PPPpVHl3CjzA9f2MBYBPwE/z4MRtECbmsPOw3SwpKWUJMAel5/0LIcR8IcQ/dvrIPk8UfBPGb4ZJUZiwBYou/wyNPQeNYbCyTIbJKCz412doewfw9C/g1TshEYVYl+KQ+s/v4MXbe4/x+uCGu+HdCDywmFhzSVoTibCX8Ad5tD5YSes/qmh/sozEZjcyi7woSNwiwZB9NlI0tBmh2ei6iWZYDBu/lrKhDQhho2kWJAVCy2xDw6JabERzTIR0ECkd7kLSw2JeEoxgPXuxlEN4Ex/xDDPmdaJIR/Ywz0J3ppRE72GfdYjhwcZL5RUnM/qHJ5PwF2J4dNw+A5fP4JjfzCJhZ/k5CC2NzNBLHA9x8unEwsBwTGSWbC+PBzoTip68P7a2KGMhBHy8GnQfSDc4BnTGYGsDhPzqZejq775j4btn9Lbx8WsgNwI2YKm/YiOcWd1b3JcNy5rh7Y0waRhMm6xEldyG+uv3wENXQyCLp3FXozrLqhSUB3jfbXy+HHYuBuOSygMOBg5FuaZKUFlT5+9Qh0LUAA8AFajn9HullHcIIYqAR4DhKJGmb2wvsD4ol1T+mTDkz6D1eQK3I9B4LbTevY0TQ6iPXAWsBt5FRSZDwLMwdiR8s1qlPBqamrBbVit3VHI3JJR5/FBYDa2bIBlL3/f7F2D/w8CTmvg0qYgIu/1Ny6VyNvadMHWHgpJnCB43KbUQUVR+GpIC2nvcL04SQslO8Ike15NlG5iWG7crRrNdSqNZ2aNxoWMR0jo50vMqHQs3YEwej627B6AShyQuumQQQ5jk0c4Q6vGSRCAxpYE7GWaEtYbOQEWqAFBmBNI7yKOF4tSaQ0HgUEwLQVT+ajKSpMazhWKjs98IJHmyg3LZCEA8IcDtRtdVDy4nyfDwpozxmyb84yE4bCJUlauq7XgcbAkPvWfQbmrUOElOOBACfRal0SgYnekU592o2wSPv6gmzQmVcNTEVImGDzDVQrEjCmf9EV5YkPVy8o1x8NejITAWxUPdz9Z1ROGCP8GT87Ofv6vgF7C1Qv3tj9cScGSmplYOnw47LYbxCSpu8Q7wlpRy046Nr6e9SqBSSvmxECIEfAScBHwTaJVS3iKE+AFQKKX8/nba2r7BGLsGPFnSScwmWFExwElDgZtQHjsPSqU2DNwAdKa2nQCFx8L0IVDQDquehkWPgf1ZXV6fM4aMgkc+AW8/V1lAgiHBFDCPXsqQbjg2+UO3UHNUHQnhwUbHnaqp7nukkA5DRB0d5OOkqMClhLjpRddtkrqHhOOmw8pHlzY1eh3Vej15IkzTe7UsvWce+/75YkSWGbKTII2yAiklaDo6FoW0cgjv9EzQwkpQlqgn5s0noudjpAgB+45xPcOws3hfDUyGUA9AIpykKNHA0KL04L8E7GiCLe+vo3FNhAOPzaNyaPpYqyOb8Vlx9D63YzgC0w5Rk/zps+HoWRAqFUyd7QGPjtuAotURMhZgDtgtihm238XACSutErozcy3SsqtwQUcCzv4jPD+AwVg1R7mjGAmU0mswUuPoiMGcO+GJD7Kfvytxex5c5IdAvxjGca3w1h72M/sCYufEMKSUkwGEEAEpZWR7xw+ivQagIfV/lxBiOVANfA1VRgbwd5TmxjYNxqDgzmQjBcAoQy0PspWyXoZ6bOu+U32oaO7pwJ+BBPAYtD0Ge2h2SQ9qRoOZzDQYEZRDOE72ymhNJxHJwxAORkrWXfZZlHTDRsdLHDdJ2ilgU0cNaxsn4jg6EoE/2Emgqh3hBgsXbRRRyWaS4SSr/vo+6x54n8IpQxj5f8chNbVCkJaDjUajUa5Sa0V3XwatFFPHUIajCASl4WG1PY71YhwOBiDZmyXk045GasLPVvkGWBg91CaegIukr4x4agVD6lwLg4TQufaMrXQ2J/kwkhlp3uyvoDTajC/ShWHAipVwxTWwei0UFsJJZ8ERh4PbI5EkiOsepK1lL0jXlO0WTh9qDwtkJJWQ1/ejuNS+nniaqQzNa0uzflwAarrFFZuBYnp/AimDkeeCk/aD5z5S1Oa7E9/thKiEKwOqhqTehqs7c8Zid2K7MQwhxIFCiGWg2NWEEPsIIe78PDoXQgwH9gU+AMq7NTdSf8s+jz5IDFBMZzVA9e9g1MtQcSMY3X59H1BD5qUxgGmfy5B2KdYtA8Oj0hZeRvEM16MmiLCAKNkD+ELiL0l/PhBCGQ0pwZECRwoaEhWoRFZBLOpn9ea9sGw3jtSRUiMSzqN9U3mPEFErRSyWk+mMu+lauI5TnzqVI/9vPMP0jYwUa5kolrGXvhRv0wacLOXKDjpre/N2ieCn1jMJS/PgoKHjsJZRmLix0RBSopN95jP6rkSEIKn7WC3GslqOpMUpIBw3iEcl916+hH2PyOOnz04kbmb+ZKTQWNpZREEVTJ4hmNc+jGtfncWz8Zm83VDNYccZuLyiR83Pl4iD5mR1wjkOdOpg+SEm1ft41zZKe/oYEAn86GFFTz4Q1nQnmHUCW1EGp0/bQsDXp8FdcwZuoz8MAeeNgeePhkeOgCMyk/N2CDbwwy4oaFSvEVvgmfh2T8thJ2KwWVJHA88ASCkXCSFmbfuU7UMIEQQeB74tpewUWfM3s553CXDJoDtq/D4MfTg9hiFj4CkC77dAuCB4MJReBSv2A3PLNhobZAK47oGKKZDogOYVgx7qTkFTPTzZDrYX7NQ1rpcw2oJJSZVdVQi0kTZxaLpD+eQsWtpAh5NH0nYTtkIgJQncxPCzpmUCjuz3NC81klEPtqmju5SCXafIJxkq5sy3LkTzuXCEhpc4AVTsR2hQWm2g9VHU7osEbtooSAkj5aVcYYrWHCCJh4+ZShEtTBLLKKeJBqoyYhj9g+zdE3qdGEYn+RQl6/jt4S9ywY+rmHJkAb6gjk2MhAwTFz4MbPxEScQcbr++hYnjBb/6cBatnmI6hfpptVNGu1zHRJbjSSTRU+XjbssiVuzG15JECo1YwIUmHTxhk+LUIiZuwNJaePMlmHOICkpLDZx8EEnQwqhfsA+Igx2Hlz7Zxr0AfO8tePQERQ/CesCfevWB3wNnHgxXP6BoQrYFXcArx8F+JRB0qey342rg/y2GnwwgF/tp4aBWGjnsfgyWrbau34T+mSjJhBAulLH4Zx9t8CYhRKWUsiEV58g6c0sp7wXuTbWz/duo6znYeDpU/ArcYyC5HjwFoPWJX2g+ZTiqfg4bzgeWAHuRfnkSDEoGZK+z4Li71COhZkB7LTx8AnRs2P65OwPDZ0M4CO4+358lYKkNr9wM514ORRXQugWiAUSwgFBZB/59O3Dlpc8WUkJM+mizirBtAxmPE1g6j9jBPtAE0WSAbP4tIcBJGQxQWUyWywMeLzKVqBogmnZmSEQQUmYxGCp8/hzHp2otNKqpp4DOnn3qKI0WSmmliDK5BUPYNFKOiRs3SYpoxUP2R3ENyVZRTqF3Kyf8eG+mHGHjC2p4idFFiBViYo9xdZNgiLaWk74boNzppMVTjCN67xsbg1oxkuFsQLglvriKAQnpEC320OIPInxaTxqzAPKawoTaE3g9MGIYXL9MGQyzBpJ7iVTfEncbGEnlvkKAaIUN2+Ff+M86OO1ZuOUQGFuoXFjZko5sB0pC2zcYJw+HqSljAcptFnTB9ybDPSugYY8jFMrhs2Aw5IN1QoiDACmEcAshriXlntoRCGV5/gIsl1L+ts+uZ4DuzKvzgad3tI8MdD0PqyfDUh+sOwT0LBVPwoC8Y1Nv7kKt12MoJ38cWAU8te1+KqbA8feCJw+8+eAOQMkEOOflz+2jfGqMmK1EkfrDY1B0wbnUeJ/Df9NMuHAYXFXCAV99lL2P/Yh40EPc9va4nhwplLiRWYTVmUCGwzjLVpD8xa1siYcISx+l/iZElmcJKUH39K7OJIKAiKVcRQIDKyM1NUCUAtGOQKXddtO2eohjSgMrVcttYxDFT5AuQoRxE08dr7CC8USFj5DsYgxrmMgyaqgjiSu7Jw5JEjcCScydz9jDK/EENKWPgYs6huKg4wj1igsfGzzjGDrBS3Lvcdgi8xlMIGmmBCmUWXAkxCydiOkBr4YQspdhXUBneYCET7Xj88D+k+Fnr6eMhSHAJTASYFgpFhID0EEWwB9v3t4NoYzGPg+A7w54aiE9tCd9YdqwqU+tQ3ke/L9TYelN8PK34ZhJavuJQyGUxeJYDhw+QB1KDl9cDGaF8S3gDlRgehMwF7jiM/R5MIpfY7EQYmFq2w+BW4B/CyEuBDYCp+1Q66IC9INBbgX7bTK4oZ1tPPLY3SmVHcB3gEmoVJINQO32+97/ShUv6AvNgEAFVE+H+s+QejJsMlSNhY1LoP5TuLliLSpzS0+vyha6hllTiTH5UGpmTaXh0l/Q+c8XqL3mbsb89bsEZISNkaH4jBheI44lXUSSPuI3/QqtfSvOytU4739A4M1/MdS3FRdJikra2dQxDNNRzh0VNXZwB2M9X4OGTVVyA8WikZjLTxuFeIkRIJz29KLjMN5ZzirGkND8SASulGBTg6ggP1XtnU87w9nYI1Kk4eAmSRI3NjoSyVImUkA7eXT1yLYaWPiIpQySgoMgTBAbJROrY4Nl47ajuDRJUyoTXK2GJFH8OOjYUkcTGl4Z///tnXm8JVV177+r6ox37tsD3U0zNM08C4IoooJDcAio0YhR1DzU5MUkJnkmEWMM6osxmqjxaTTGGDFxSDQxKE4oAioqIDI1NLNNAz3evvO5556p1vtj7TqnTp06d2hp+t62fp9PfU5Vnao91d577b1GRIMOH1iCknHszGrV1Gvf9b6A335HlkPX1jv2ZIowvaJAvjxNPYA1a6HvSCHwWiu8bKlzL5fJwKUXwc0/h89+1SzK48hn4YLTIZuB6+6Av/wyXHiauT4Pw73PVuHfbmh5vVnTD3e80+J+5zNw4jp4+ka4/H9gZAZqAWRjS88AGE+F0wcdFuxLaimigyWVex/k/hhjHwnoKMw8FzQ22W/8Cgy8BLzI5N4owY53wJ6P7nuBXv1NOPqFnfdrFfivV8ADVy8+zUIfvPObsPEMc0eeycLm6+ADLzd/UfNh6Fi45DbItjOqpRiw4r078DMNVspeGqPjPHDI86HRYPAFZzH98RvQvE+mOIvnBwR1n9pUFv3KF+DPLwMg87QzOOX6v+Oo/GP4YhN2qdrL5j2ns2PsUKqjFgEPTwjUY3jjdo5s/IDcd75J8U2XMMJqc3aIRe+7gO871pKhUQ+45b4hKiedTp0MQsAYQ2xge1O7yadBkTIZp+rjt/mPcs2vWRCPHLOsZqTtf8+p4Soek/QzTT+hvcgpeicbdCuBZFghk2xnPUNNtyS2J9rJIZS1yLnVH7MiGOV7hed17DKyVHl+cA2N6Rr//bkaf/0+2L4DNk+vZbC31jHxA2TLNdY8MokCYz3gDwmZfOvJnh1Be1ClGlBtcquoN+DC34XvR9Yozz4VrrqidZ3x4U0fgdvug3e/Ep53MgwWzFFAvWY7w4s/Bi85Gf7g/E6DwFLF4n7/4MXQG1t6jszC+i8YMUmxJPHEqtWKyLvmeE9V9b2LzWy/InMR5P4ApIAZpQP0QvFqmIk519l2GRx1NRSfAloDrwDjX4I9/++XK8MDV8PGF7SWaiH8HMiR+5bmZR+Fo8+GbIS4nfo8uOQ98O9vn//98fvh2svg1z+Ps2tDssrAm/cimdAUT/DyObJHrKP28GNM3DcKM3UYK1DdnTVNmj5gHfD0C5pJe5dcwtbSsWyZPI0+f4qT++9mTW4PJ66+g22Th8NhShAITApMCRO/OAQev4dVl72ER2Q1ikfDrZnL+FzPc/h1voa4KXTMX8XghgJae5yR7DryzDLAJO2cVKFM0dx0OGIRnYAV8KVBFZ9hxjpiBAZkmCbPNP14BGSp4dHgAq5lreymLAXu4QR6uZ9hRjsm97XsYhsbWNvYRQ9lzq7ews25s5oyCY+As4KbuOXGOpe8pMaUcy8+vMpj715lsIeOrYIqFKaqqECwAgYKUPeVemDuSgAaOfAr7tWApj1GaGOZzcA3PwGrngnTMxah7+r32G8Un/5jOOV34B1fhJdcYULs3jA2CnD1H8LWXY5YmI5yU4KZVVi3Bn73R/CpZxq3zBdjuX34jpRYHIyYiyWVZHPRC1yGaXAvLYKRfQtIX/s98cE7DLwTIbindb8xAQ+cB4UTIXcElO+E2uO/fBnu+zZcIKG6jSEA9goc9ga4/2OLS08EnvUayMSc/GXz8MK3zE0wNp0A51wAk2Nw7VUMvukWgmATklUyG6ttHrgFRTM+jb1u9Ty2F8YLMErLoG9CYQqyQzXk0FUEl/0O9d98MxN160Kj9Tw3jp3LGQO3cuuep6M9Em4BYIVCLqCx12fqzEvY7e1p01gKS1Gilzs5hXXsYpYCDfEYGzyErXokK3UvG+RRxliZqDlVJ0Oe2cRwsSEh8GkkieTJUOdp/JQBpvCoM8gEDTLUybCb1U6AvpJhxojP7qLKRt1K3qugARzReJRDy9vZ462ikfXo00m+c32Bqz/vIb4pIBd7hP++ZQ2r1vrUBLK02FKqEFQDslqhut6yEwW/DoGvSFWRjFAdgMIekz9kuqigZH246Hz4wjfg4qcnq+b6Hrz2AtO4yiR5k9dIMKaozQfmUu1zr4EX/gPUSpDvB88HbxYuPx5owPvu6UwTLEb5RYfB6jzcsAsemICLh2B1Fm6YsijC5/TCY1W4egJqy5cRclChK8FQ1b8Pz51F9luB3wa+BPx9t/cOGKRLvEoamDuPBMzeY8cTBfXhwRlY1QcDLusxzEg8OzD3u0kQD/wujnPyvTY6g4TZ4opPwEtfRzPazl/9I7P/9SF6/+C1SF+UNaUUKaONgOmv/4BgwgUXqtZhTyiFbRYGAmVgqIfMIzezd+8KiHm4b5DhtrEzzVAu+q6HWZaPe4yWV7OanYlVUoRbOJvD2cbRPMRPOYdxVhCIMM4KauRYy655my0JOSpzOlQM8FnHDkZYxSRDKEIJJeuITBWz84i7ABGUlYxQz/iAj19vkAkarA12USWHCpz17AHOeprwno/185ZXTbBybYahVR65nNDAoglmqCOqNOoBQ9UpgkFaeyVV8hUoVHGrfEUVvnwNjO2B3/mNZNtLERhw2uT9PQnW4xhRGewFr5FMMPrycNNWOG5Nh/YtAhSz8LmXWvrNMvRB3yy84yT4yH0wE+uip6+Aa5/v5PceUAFvG1QaprEVykPqClWFmQDOuxceTPDLleLJxZxaUiIyLCL/F7gTIy5nqOqfq+pcxgoHBrX/hG5BAYMufhIWisP+BM7dCc+pw1l3wND5yc9NPwjVaVuZ/xyzV78SuErh1t20WVkdehG8+D64pA4Xb4OjEiylgobJLZIQNGBgdef9514MF78Wij3mdLCvH/oHqTz39yh//F/NoaCaN9c8FXqYplwrsOuqiNL8umOgnGzUr8cIdckSOGLhSYMN/Y9y8prNnLzmLjwx139Nw8BdPuyJA+ibAAAgAElEQVTwYcSHrDKaGWbX1FoaQdJyFkr1Xm6vPoX/qV/MXl1FgE8oadjNmqbNRRwedcdeS2gqYIhufrvtDZ86uzjECcrNyLCBzxR9ZKkxQw+7WU09ZjXuEbBCJwjVnBoZE78HXqucgZdnqm8dhZzysf9exR99YhPlvtWMMeS0tXyq5KlIHj8DmVzQTA8RMnVzBCy4WwpeFX7zRfCm10LVaFVnvRW+82M7v+bWTit9sFjeX78Jrr7DVGnjEIEjeuGff5i8Qylm4Zg+p60VPYrQsxoe/C249Bgo+PAP58Dk6+HnL4fhPrMqL9ah+Lg52xnwbeeRccpgBc/urc7AfyZ490nx5KMrwRCRDwK3AFPAKap6xVKIstcVtU9C8DCoWyWr86cw+0boom+/IGx8L2x8D+QOMRZX36lwyteh739D5m8g8+cgG9zDCre8HsZn4AY1wqGYv6Y9TwE+bY+tfxE84wswcKyl2XMYnPkPcPT/7sx/x/3J5arXoJTwOV5xGfT0dd7PFZm983FmdivlcpHydIHSTC/bSxvYU1uPd8lvtZ7d+1inthfg99eQnMkAzAutctSKhxkqTuCJ4gn05KaBwIjFlPNzgZjRoArqefxi73FUa4Um0Qhp2ESjn0pQAISM3+iY4KbpZ4SVEbVZbarcTtLvAi619OLUHYLgETRdk7f/b5lMOWF3uE5WYJRhKhRcClCmh+2sb+buaYN+naSfVtxTBUqZHvbmhpiWHhp4zEqRmuTYntnARHYVXtbHCFKGSQaoRTb6Ga0TiFD3feq+jzqC0dYUVcDd833zKam9ZtQXRZCFE46z85ExuOEmi+YXhp6dLsO3boHr74Brt9iQiTeeVOD5R8OnfwQzCXar9UqzkeOiJSQL63rhE8+Cm18GbzreVHCb37WK6afMI+vwBY4vwPrUS+0Bx1w7jP+DuWp9J7BdRCbdMSUicZeeSwAlmDkLKm+F2leNgMycDfWv7HuSXgEO+2Pwo1biwEM9EHwUMn8GmSsgfy94F9v/u66B6682t6Rt6AEuAdbAqe+DTCxedaYPTklQov/3y2E2tnOaLcE1nzTtqzhyCUGNwGbkfB4CRQNz/l0N8jQ0gwag+YhP60oJbv+2eeCNQkCdTKNQnKU3WyLvV/Ei6jprBnZhWwVBMhbutS2BGY9AMzz8+PHsGDmcidIQY1Or2Dm5nqlgkHBqbE2Qik8N36mlPsjRrGY3/UzSxyRFpp3hX4k+SgROkF7Hp0aWGXqbgY7Mj63tQsyqw+6adKN9iV5xLKj2qVoI8Jihh6KWODLYyiZ9uM1/34i3ir3ZlZS8fialnz3eaupiPq7MzqJzyJUoEqgaCZEajWyWwPcJfJ9aNtu+azIHV8l+qHoc0cgAfZAdgvddDmceBlvfAc/MQ+4Rc244uQPe8lH4vYieR3UScxVTxbSuSkDFWFkfOx02b+/0L+WXzYSp2VQ+HYXrzcJJK6EY5WCG7LUFCsYVk5mkOLA4uNRqn2gUNsJZd9pkHmIv5pepI0DdFMyuwYz8fgacmZDgOPBieOU1nQQDIKjBV4agEZuoz38DvO4DpmIbBPDdf4LP/Vmy/OKi18C7P9m5y5iagGeuo7DlLmR42LJreFSnetC6b9LT234G95fghPMAMYKU6wN11sUVZcVLd+IVA6M/tVlW50bwYi5X95RWUfL68Jxld2W0SOmRIQg8IyDt4TgAyBenKaycIlzDZP0qq709rJVdSGRvMMoKfo1r2uakMgXu5xgUn1WMAEojYr98GI+QodEhaBfMn9Mu1iIoh7CLM/g5eaqU6GGaPpKm5kHGWKUjnBbc0ZbilPQyJX0dRKGBxzhDTh8tCqWPafp0GlB8CejRUlvUX4D8TJXCbKOlEVVOJhgqUB2EbNlkEtSh/iB4k27vVMPcfs5CfSXQb3KCkUl4y6fgVcfCK08zuUYTgaWjGXvW93EBtrBJP8nNuCNq4U4InOPKaHedwYhSHdiOCS+89neieGAWju0eej3F4rFParULsfT+1UV1Rzvjt9KAR+pdVkUeeN/CvJY8TrLfqQLwEEw/1PlXL7CxDm/4LJz92nZh93WfhbefAT/7BIxeA952k00k4Rtfglt+AKUp57lu1uQRb3sNzJap/q83oqUSQXmWytY+dHMG7hYYzcDA0+DU55oWVjYHPf22YixjA7whTP1wGK0LomqDPDZzVTVLpZjHzzcQz+bO/HCZ/qOc2XCimkVAPl9pS6xfJ1nLrsgka+yiYcbYwbrIHSgyy4lsoUaGHax1K/IWESvRSz+ThPuKkJWVpcqsYzkpHrtYw42ca6q4UReuEQiB2W2Ix5isaLK4FChL0e4zxINs4iGOYoIBPLMN70irl2n6dKrJzgsNE+OoFDL2dtDZ3iFUaXoervU6TuD9pv3kue9AHvPcvxYyA5CpQGEKNmTgi38I1z0K1cAID0LLAVDG3s964NWNTUUFIxZzLdniE3/W0grZV81XC7R2KC4QZPhfLYDpBvzWAuxmU+x//IrsMLLAJsyCe8fiMjnqfbDhrRb8+LYx8AfATwhJpgpVcav+KvT7EOQiyskzwJeBN8D6l8C5X2rtMtYAR7n9ue+b4HzHPfDh88w476Qz4N+uN6O9fMEIwMw0vPypsDMhPImIqdSedyGMjcDXP9/+3Nq18O7vQO4UR/zEgiplgH5pn5RUoSK0RUbtrdF3xjhlv8CmtQ9RyFaabKmRYJgyncYFGsDE5tVkBmpUpYA2Ge6K5wUcu+F2RnS1GdnhcXJ2MwWJs9xsovep8xRub1vt1PHYykZGGWaIUeeiXF1M7yzn8mN86sxSJEDIY2lv4cS2svrUeSY/ZJBxRlkVY0spPg0O41EEZa3uoDIyxbrhKoIw5g3ygBzDGMNOWG9MsDW6mwGZNHuXJsNfWas729h5OWY7YnkA0FCKW6rkGwH1ogmqBwZiGxkFHYf6Kgj6wRuBzBZX8ijrJ/Sysos2j3Cq1nWDwO0wAlpuz1ufqvVOmEYk0m+0LMzSJjoMMi4ZV91gFsSxwGS6831tgJQsQFe5Cn85Ah+OhHI/1IcVHtxbS9yQpJgf6Q4jGS/HnAl+HfgJ8FXMjGQByD4Pxn8bdnuwZdLkEvWyzX4dEBtEK324sAjPycIFDXiuQt8k5vT3jfbo9qvhJ5fC1IMgARwVLh19G5B+H6w7Cc5+nT3/1/8Cvf1GLACKvTC4Et72t8nlVoWfXAsf+FP457/tJCr1AngntATSYOch77qtWhITZipUfKZ/spLGD/q4/5unMDE2SOj3vNFcQsbLBEdvupuNR97PYN8oIrbazxVmWbl+OysykxyReYRBb9Kt4tsVFYSAArMUqJClwf0cR5kW4fYJyFMhQ50VTNDvfEutYJwsdW7mbEYZppcS/UxTpsgDHJtQVmWSfioUKVImzyzhHqKHGdazvSkWr9Th//5pmbIWmPWLlKQ3QizCUvvsZg2Hju0kF4R+rqzucYv0eqIbQENuT4BMQGUb/P1HsYVIuGGqAePGcvImIfcLyIxi3XzY/Q7R0mCKGN+F30YCEy432VEeOAW16EdoIaxGN4SzuNs1eLnItdha6oM3gyapygrN6I1eDXoF/nolrPJhjQc3rIEH1sGNh8DuDfCquL5viv2GBXmrXb54CvB3tGuQn4lFiH1x5N5FwO9hxhN3gxwB/koYOAkkD3sUSk4tM6hCfRYyUZNZN9kWgGfgWtURgL4GnDcDN34b1n7JAjpNXAM7PgJXHwNnvgrO/mLnvOX3wpmvhtu/CCtPgn/H6J7nivnUDDz9Rd2rPrgSfuOtcN7LzBHixDS5HT9i4NQatcFzmXjUSx7wVWzV2ETDrKZCJX4VqLeWnH3DU9QbWcoUzHCuqmhUEyasjt/g9L7beVg2UV29i+LqKVSl+dyjHEZRZlid2ctq9tJQD685qymFmFFejRwPcxTHcy8+AQEeJXo4jG1kIgZ6PgHDjLKbNdzFaYRL3B5m6NFOh0yKR9HxdjyUYUbxqRPgO5G5LbvzWuHOW5XXvLnIVu8oStpLlYztSOJ1p85ozxA5GgSqFGqzDJQmaQyZ8kErb6FCzlmru1CzqvRuriI1KNXhN98Fh6/GbHtikXjVN3VbgdbIDifuLDAI7AWd7crZaodjG0l0d1IBrdqppyCx/qI4WUmRFq/OyUHcxgqAUgN+fRV4WZK5t9p+v6pwQRHe1gun5cz5cjgC/2UYHqzDrQtQhtwEPBNzXHAPtoRMQ2wsHAc5wfhdIM4+ygEnQP6ZMNQHe18O9VdjXQjgHJsU89CVQVufMsG01w9kW3EmDqdzJHo+ZFfA6d8znwuDHuw+FdZcBnecBse+IDkPVegZhOMvgb/IhMx6+50BvgX8uBf8npaQXAROPAc2nA8X/gmc0geDPpQ9iieXWHnss6juLKA7exGvy0bJC1kmDr7HqlO30ZA809sGqe1ptefqZ2yn74gJvKyaR6YghwZimlSeNomBT53DeYSilDmRe7g2uIDKbBHxlGy+gogZ/U02+pmt5yl6s2gmYIhJR3aTTZkV2MbhgDLIOHUXQCn+CcT9P8FQa/XfZMVG6xuQpdL86kYcxEXyC/3m+uSZZTQYYuWZA0xnBtmJgHjUNcraqtGP8VrWsx3NifMxpZSzRWaH8qxo7EV8ddS1gUcDRZtSmxoZJoJBguEJ7t0yyW+9EyZLcOwxtkL3oblTUGeLIdCamHN2r7lZC5+ZK25mdBeiMDkDOc9pOI07VpHaUc/YDiHXADIRYhHOKoH1sWaZwt/AHjl8LTbOZulcvMTDzwIrBE7MtnvqB4vG954++MAonJQ18cq/1yC+eTkXuNAVzwPWYiHR/oGUaCwUB7kM42oggU3n1+FpA1AM4LqBznjWYMbhUVOEyXGoRrugh6n7RN49DSLB4FpQhaPF/g+wgbulATd/D86/wEWziaGhFkZzewPu8WFYOomRVGHzn8C2j8PGE+HD10L/GiN4PsaFO7WKvKDGqvoYe7++ziZ0gKLXuQ3QBmxoQD1no78IrADJNjj+2Ft56IcnU91uu7Xs4CwbXvwwXqb9EwSBsHv3eqSnQbZYQRseh/IYT83fQp+UuGvyVH6w97mt+cMLWLF2F7O1PEHQWm170mBjz8MM+2MUmSWbwNtXwKwgBsgzy4ncQ76L4NhzDtHHWMEEQ6xiD0XKVLB45RkaTRaRoAwxxtnc3Oa2I0SFLA/pJgJ8fGmwmj1OCwuqmuEQ2U2fE14JimhAQSqxdBRf6wwx1qFVlaNiQnIFqSsrpmaozirZrGkaeVGZQh0TPndubFqr+wa2Wlds/fQI6GOx5xvYRtz5G0PMyfEb/9Um/Q891zy8tI04NbsOP+ME6+F/0yQqRITvaAPqoxZSvqn5NUlr1s5h/qoj64TRBrz6cfiP1TCUwEgvVSAflckAb56Az9ZaSf4lsc2za5ZrWVCkm4MN+yem9/LGdVggpOguQ6CxAn5etL15cC+m7prFtgguMmyNdoFe34AZyoWK6Bp6Y4uMij1YdNf4/O8JbIzdP8IHng8NryOZZjm3ASMZ06BKguZg4zth5Br4yPdg+BDadDJ/HfhkDjmyxshd69FqRF8yAHoVydosoIHAxM9g3dM6svFEqY179A1uZ3TnJgiE4tpkq3rPUwr5Mnt3toIhVAaLrFy9ByoeP9p7PmjLIlsbwtTkAH6+xobsoxyZe4Ss1NhdW83WyuGMFVeyTrazjp0djWQsnAKKcAwP0t31hwmrPZQVjOHToIdyU8PK1vYt2YsiTDDU4cgwRKglpXjUEUZYxVp2IcCQjNNHKfKeoOJRIU+hY80bSpTbc6mSN9frApoR1INCgeZio/m0WBfQVSCxiIlNlk7UGE8wW43jQcIuX6C56meatr7o5eC8o+Gyz8N7zzLr7HiDZHORdUf424+FPxugtdsp0dpJzEJmFiSLLUp8TMbSoCks19VGVGacCnG1Bt/Y4HZVIRF0CNTC04uYYwR1IsFP9cH3xuExtdgMSfvULHACv5IEY59wkAu9P4MRg3CgCiYBLMJsBSq3YqoeFWy03At9j9gEHVqgNvkTHhw5DIcOw5pBCxIQN8LaAZTUenAIxXprVM6uWDymbWLZ12nvzQ2M+JSwXU5ENt2B/CFw4V1w32oY7WCew1Mh+HRPJ3etDkwpfqGCv6HCmudvhu03Jdt2YHIJbv4CZgSgNGZ9p3/ZjiAQGvVM27s9/gxZqfPw1LEE6pHLzjLQP0pPcQrx63i5BifnN3NiYQt9/jQFb5bDco9xduFnrJUdHMFWF2wpiKQKVXJUyNPHND4Ni03R4R7EbDhCtpaHMsAkFfKUKbioFxnM+G+afiabMosKOWYoMk1vm0sQS7E1S9bJNK21QzZaOyTRbUmPlNHYLs/icNSbhoQCVLIZY88End1AiE3Y4XmF1q4i/oJik3kx8rxA09g9vCXwumfDa58CwzEvt813uiGq9T1OW+x4yYEUXfkmsbqVaMllyiY6lHVwn2fDcW3efF2J59hvkcWXiN2r1yJsVre7+p5bbM2Q6D2lublJsTAc5DuMMeB5WLynF4CciknyBFu+xxXyAph5BM7aACUf7sMm7DwmP98kcH0WGlnrkKOxJBT4MfCyiMZRETgn8swMJsAeozXh3ovFalpjRWA7NP3zhQM8k1xcSgKlHHwDY0E9FfgNmjJ3+gSmjA3QgUCoP16AnbD7tuPhpo/ByytQaCkJeLkqKzbtZtofxnv9Kxlq7GH8jvXMjPQm+hYCmJqKOIIU5biBe/BFqQZZ1q15lN6eKddcFicjW6twaG67rZjDyVgC6mQZ0nEmZAWg5JySbKhe+yCbyFPhEHa6eVGoksOn4bzTmgpuJsZWquM7VyCW0jB7OYJt7XWgjxFWN+0nFOhjmgEmmWCIuBFg6ONKOpjxLShC0zmJKlmJlst8e8U1pxDQuthE2m2nWcMi7mlkDu82mVdBphLuh/0slCk4+D5ceQkdMd/nzEYsHQ0wm41ov3U7jGafBqtb6GIEbBk7YlrnZ60CGaGDkFnh3LUfSTOGwz04zYM7AuPwHkI74agDNybVIUUiDnKCAdZN3g2Zb4P80Pw6ATCe/LiIucQY6IcN2ErpVEy9wgPOwBwLehj76XFsRxDgBKlik/1xwKNYwL4qLZWOb2I85+i8sAejX+1zlqVbx9gGZk1mapJDlg3jLp1zxe5NAD8F7gBOxwbhPa4MUwJbsVVcBottsc61RR0gBxd/kmOGr2VgY4FaPcdDW49jZrafkbvXk8nVCMaFYCaDV2jASXV2jK/lkOFd+F5gGk8ou3etdzsME2gPHDLCL7IbyVKjd3gCzw8iluGKpwGFfKVDnlKmSEPMz0T4dIUCNbL0MkORWQJ8BpmghxkkslRuYH6ahtmbKPeYpdic8IWAw3m0Y/0/yCQau1uijwYeO1lPHFmqKGZ13uvYXWGOGWpk3aypgK8NslQpawER+79AhbobjkJARutkG1UyjTqSh8qwkKspHVK7GmbLYC+20EPy0nmMrl0foX1GcFpQAjYOFroUV0e8pmnZcoSIEoboxB/VlvIwHZRpmmFrE8tacO9WQJM0rbCu/VTfCMa/Am/AhkPgsvk+cDG2pguAGzAdypgCGk91zw1jw/sr/BJxqpcxDhKCUYDcy8HbCPXboP5tOtQugu0mk6jVMd8eXfQiAmedtPNuaNRgahM82G+PnwAcjxGPMaz1JrEdQwNAbEDc6P5/lkvzIfduADxAy2L3UEzVcQLYqTaBh4MpFFQSuT6cllUswAqsTitcWVYBvwbc6vLb5fI7B9vyFzFXklXgUTXieUSYgZJZW2WieBwajDPy+DpmZvpRtfVYvex0GUsQzHiwLUO9DNtGN5Jr1CCv0KsEGYVcnUy2xvC63Y44CDVy1DJZclLFj6i/iMCsFhhjEJ+AAmVz2EcRgYgcQV08i4AaGabo40geZgXjbmKPxrqw5fIMRXrc0A8X0ACDTABCiT4GmOxgYYVqrTUyeFSdbpTNfGWKaEsCAwSsZjeDTOARUG+zcpOmADt0byLaICehAN/u1sjhoc3dk4eaNlegzbprRql5pq/hOR6+BKbx1JUzVMBmvrhsoxsj2nX95rkCoVFdFjd+aJ/wg8h55D0xnmFLyQM64mk0ERKqWuxaujwffQ867UUiqAIjal7cnoENz7uxddU2TENqJa2J8AXYEP+TSDXPBV5NSwfmcOD3gY9hoprj3LNb6E6LDxYsf4LhbYT+H4P0Ar2g0xD8AqbOg4gXUXLHwlAJdv4n1o2ywDG09TQR6Angzq9CkMdsNfLwC7XBcg3wJjH+7xpsFXeVtohFiBrWK1+hxkZ4VGzVHypV5YHnu98M5qSnAtzk3FqvEyM4UYSBBOOGVA2s14aL3izG3roG28m8RFuqkuryuUXMenuna4KKkn/+FJkjqsxkipRKPZQmVrbLKMRNuUWMDaZC49EcmePL6HBggzYAEUH8gL4Vk7SU2LRZ3io5ch2aTMIk/XgoZfLOHUj4rk+OqrPDCBlPAXmqFKigCFWLokCB2TZL6lCuIU4YZRyXCuvYwQYeYy/DjDLsPNlauu3aWEodj56IsNqnxhr2UCZLlTxH8Ch5qoSzWwbIUnZGeNLMO2Q1tbOhWvWvkCPfLL9hNlNAG7MUyzX8kN3kmUsuMuamA492H03RvpHFCEZ0Mm+4+1H5e0gcBFtY1LE+XKY1YSu2CNmOEREfW+yMuutoHs7fVbMcIcHwSVSXbStH9Dzst90QmgYFIPVOjlSgMKPw/rptWEKu7jhwPebxLUosoKX6chpwu7v3ctoVJtU993pshgmrfgHwHZfuwYplrlbrKX03QOYZNE1DwbSfKh+H8tvcjSwcvht23ODiRoa+D8rYLO6c5awYgvHbIKgDz8Z0ZKMcT4VCGd6YgZ4MfLECj4ZqJrQ/50/Y8q+hsDID5w/BJqetVVeTLUS1phoK9yr8QM2y/Bxp51kPYgzYpAG0Bji2PXu2qVkohQ7dBhpGhL7uGwtMMfuRUyBzXIX8s6YQp3NYn84y+1io4uKQcU0hiufV0S0eMlzHP7HS1vRg8pKhgXEyedsRRLWXVKEgs2QiS0choJcSWaod8gYInGi7td3KUUlwoWFyjT5KThXWiI7n5BlhGTLUmhO8ENDjPNmGLC1ByVJtEo7kMmlTSB5qW4X19GiQo+585gbuP3VErkKeuHptK80BJpz7DDWWlFpQJRSy1QbZaMAKxTzJTmG2D8lJtthIxotrn6zj16EF+JR7L097fwsNBqPpT2AzcHQnM4vJ6rqVaZxO4lCmfUcdlXU0aBOaN4mh57jAk1YuxXxoRnHPJByi7SNUMboXbvQjSbRx0B4F3g38DS1t4ziHbYT2TVAN+H8sC0H6PqnVLjmCISIXYjtFH/i0qr6/+7OHKfwZ4ExX/YIZsnlDplKRxZZjk3VzsAO0llYBtjxyErVjng+NHnj4R1i3eD2d+rEACkeMQnUWRtZCLexKJeibgsN6zefTrhLsjrC9MgKXroa1OXt+u5hQPQBOwQbjiMKY280MeVbUPdiyqIjJVOKqHh62JDrUisCUK85ehSOlJV/Jq42IfsEtg1v+o4ra2oFk1JZseadIHwbnCfnM4toAoKdCtr/qvkWkfVD6ByfwxQl2I6PVfBZWyYnTfxQc2yigh3KHLCFLpcO2oodp/CQJJ8oQ4xFipC5sa9RLrL1XbFqOa4wgmav0UK8pKexrNG2PBoNNA8OATNNZemjT0Z7vIOPzEoxMUDNi0fa3kq/U8UO3+QH442530Y1gBLQ22WU6V/aKcyoZuXbW3M0junOIVijcfczSElqHrtGjOxYvcq1YXy7TmnlD1lWcQxw+W41cT9AianWsP/bQpnwSTmdBAFMVs8/wHMGoaavKU7Qmet/dG6M1vMIsGrQUzpK8mAS0+2AMmzyLDcdrMZ2WJYjlb4chIj7wcYxh8xhwi4h8TVW7xFFtYL0F18FmTHmb0HfSMCalDvfFAbZs34N9xhrNbvPAN8Bf5+7No228aqX1yLVi6rGlx+BwhZM32MzpCWzIw0gFbnH+n+sKP56El6+CH4n5JAgHzQTGGgollyGBOAIjBndig8yxINpmEsF2GI9hvT7suTm3gwljO+2Wll58OCmAEbKcK4t4NrpyfktjJswjJDw5nK2HNoXX7fJqu6jV8uTzpQ7bQBHzmeRrnSyNppPAbKKWvHY1xFsIQllEnP0F2jTWM82qfHPHEspJkrzLxmHpGnnIOnXYqO1GUr5VMo44ta95hYAGGTxNIBYAIlSzPkUXgVHC1fdcXTU62SexgUL26EzkOoynEW7Eo6ylcJcS9rOwD3kYuzSP9eUyrbgYUeHRTOwdaNleJJUtQ6vfhUQGWrvdBh0ec0Wg1oAdE0Y8OthUtMR4IWp02hp6tMQ1ObqLUsLNTjVyHQ6zIvAqbKb5jy7vLzcsNTuMs4EHVfVhVa1i8cMv3vfkTqLVu6Ddo1ookQtRg8Y2Wl1mK52mPgqD4uiPZ97aNgaQHTdi4Xstw7mMB6vysDZiNDhSt+34T2gZVBUxIXpILBCzPN+LDZIMcLQrdgETcIfodVWMDuJIUXmE9u185yzkbBqlNevn3HkYrSY6+ymR1awgvnYQhGb26tHdkA5UfDKO+Z5x7dwtxGocdbIJz6kzv2tndSVDupjk4fxFtXYHyWUKQzEZSvSBI0whC6pbvnVytOL+KSF7ywO6hZ9t5hoxypTGHMLuzuJ2R1KWIdEIZ8Ok5zucVLqjj1Zfk9h/hYTnk4wj4ul6tHY70TTDnW+sfntLJr9IqvZsQtGjk30026jpyVzLh2gVkqp9HGa3ezBgqRGMQzHWYYjH3L19QJ5OP1Jgn3CQ7qNoFdYsN2HrDrfO8NQm0SNij+cE1gy0G+uFyHiwrtjKdl3ONKaiWNOlKCHHLCzuqzC/iUdjZTgDE0Lm6OQJhyq0/YoAABFBSURBVPAwZupcvoOi1uzRnt9pgNwiGgqgaMPraovh+UHXSdmgEbaNusnZRzum005UyTUncnVpAfRSitHM7upAUTIQneADvLZB32huwttLlHPTjkRSCI/u9VYn21BnIxIeIdGIWop2QgINmx71Ik92z27+/7sJzMMdQiZ2P+InKvG9DC1iE0c3IfZCZqHOiMGt/GJ5zXZj0dG5rgI69nvR5MOizUXX5nOvLthQPRiwpFhSJH+3tu8rIm8G3uwup+GK+/Z7qaDlzvnO5p1VmADE8Pg87yvmbTYeNewRdxw4tNdjEZjLw3UV4048ydjnuixBpHVZejhY6gG28Vk0lhrBeAwzhwuxAVNoaEJVP4WFtTugEJGf7YvQaKnhYKkHpHVZqjhY6nKw1AOsLvvy3lJjSd0CHCMiG0Ukh9nbfO0AlylFihQpUrDEdhiqWheR38fsX3zgM6p69wEuVooUKVKkYIkRDABV/SbmcWmp44CzxZ4gHCz1gLQuSxUHS10OlnrAPtZlyRnupUiRIkWKpYmlJsNIkSJFihRLFCnBWARE5JUicreIBCLy1Nh/l4vIgyJyn4j82oEq42IgIhe68j4oIm8/0OVZDETkMyKyW0Q2R+4Ni8h3ReQB97tirjSWAkTkMBG5TkS2uL71Vnd/OdalICI3i8gdri7vdvc3ishNri7/4RRaljxExBeR20Tkane9XOuxVUTuEpHbQ+2ofe1fKcFYHDZjzit/EL0pIidiGl0nYXHm/9G5OVmyiLhheSFwIvBqV4/lgs9ibR3F24FrVfUYzI3PciCCdeD/qOoJmCP6t7jvsBzrUgEuUNXTsIgsF4rIOcDfAh92dRkDLjuAZVwM3kp72IvlWg+A81X19Iha8D71r5RgLAKqukVVkwwFLwa+pKoVVf0F8CDm5mQp4wl2w/LkQlV/QNORWBMXA1e68yuBlz6phdoHqOoOVf25O5/CJqhDWZ51UVWNRtAIA99fgMUcgmVSFxHZgMU3+LS7FpZhPebAPvWvlGA8MXgCXZo8aViOZZ4Ph6jqDrCJGHO8smwgIkdiwYBvYpnWxbFxbseitHwXc4YzrqqhB43l0s8+grnCDp0ZrGR51gOMaF8jIrc6Txmwj/1ryanVHmiIyPeAtQl//YWqXtXttYR7S139bDmW+aCFiPQB/wX8kapOSjevjkscqtoATheRIeCrJLtRWtL9TEReAuxW1VtF5Dnh7YRHl3Q9IjhXVbeLyBrguyKyzx7XU4IRg6o+bx9em9elyRLEcizzfNglIutUdYeIrMNWuUseIpLFiMXnVfW/3e1lWZcQqjouItdjcpkhEcm41fly6GfnAheJyIswD6YD2I5judUDAFXd7n53i8hXMXb0PvWvlCX1xOBrwCUikheRjVh0i5sPcJnmw8HohuVrWOQr3G+3HeGSgeON/wuwRVU/FPlrOdZltdtZICJF4HmYTOY64BXusSVfF1W9XFU3qOqR2Lj4vqq+hmVWDwAR6RWR/vAcC1u+mX3tX6qaHgs8gJdhK/MKsAv4TuS/v8D4tfcBLzzQZV1gfV6EhYB6CGO5HfAyLaLsXwR2YN6pH8M0VlZiGh8PuN/hA13OBdTjmRhr404sjPTt7rssx7qcCtzm6rIZeJe7fxS2gHoQ+DKQP9BlXUSdngNcvVzr4cp8hzvuDsf5vvav1NI7RYoUKVIsCClLKkWKFClSLAgpwUiRIkWKFAtCSjBSpEiRIsWCkBKMFClSpEixIKQEI0WKFClSLAgpwUiRIsUTChF5l4jcKSIvPNBlSfHEIiUYKfYZIjIdu36DiHzMnf+uiLxunvebz/+S5XhpN0+7InKFiLztl80jluZ0wr0hEfm9JzKf/QUR+SMR6dmPWZzrjuXkzTXFApASjBT7Bar6SVX93JOU3UsxF+0HEkPAkiAYYphrbP8RsCiCISKLcSP0U+DHmAv6FAcRUoKRYr8gurIXkbMci+InIvLBaNAjYL2IfNsFcvlA5P0XuOd/LiJfds75EJH3i8g9Lr2/E5FnABcBH3QBYjbNUabTReSn7t2vhkFjRORoEfmeC/zzcxHZJCJ9InKtu75LROZz/f5+YJMrwwddun8qIre4/MJgQkeKyL0i8mkR2SwinxeR54nIja4Nzo6037+JyPfd/TdF6tEt3S0i8o/Az4HDROQTIvIzaQ9m9IfAeuA6EbnO3ZuOpP0KEfmsO/+siHzIPfe3zs3EZ1zet3VrE1X9K1U9RVWvjqT7Z64d7xCR98/TlimWKg606Xp6LN8DaNByZ3E7sA34mPvvCuBt7nwz8Ax3/n5gszt/A/AwMIg5eXsEc4i4CgtS1eue+3PgXcAw5nol9FAw5H4/C7yiSxmj5bgTeLY7fw/wEXd+E/Ayd17AVt8ZYMDdW4W5gwjznU7I58iwXu76BcCnMC+nHnA18Cz3XB04xd2/FfiMe+5i4H8i5b4DKLr8H8Um+rnSDYBzImUYdr8+cD1wqrveCqyKPDcdOX8F8NlIu14N+O76fcBrw7bH3Mr0LqCfvBDbcfREy5Uey+9IvdWm+GVQVtXTwwsReQMQD107BPSr6o/drS8AL4k8cq2qTrhn7wGOwCajE4EbzTcfOeAnwCQwC3xaRL6BTWYLgogMYgTmBnfrSuDLzjHboar6VQBVnXXPZ4H3icizsIn4UOAQYOcCs3yBO25z132YU8ptwC9U9S6Xz92uDVRE7sIm/hBXqWoZKLtV/tmY76lu6T6iqj+NvP+bYvEPMsA6rE3vXGD5Q3xZzWV5WKeLIjKhAnA47VHpkvA84F9VdQZAVeOBr1IsE6QEI8X+xnyBHSqR8wbWJwX4rqq+uiMxY9k8F/Mi+vtYFLT9Ub7XAKuBM1W1JiJbsQlyMen+jar+U9tNC5IUrXMQuQ5oH5NxR286T7qlyPVG4G3AWao65thM3cofzSf+TClyLsBvaHLUybkgLJ/YESnmQCrDSLFfoapjwJRYbGewiX4+/BQ4V0SOBhCRHhE51skxBlX1m5jgNtzdTAH985RjAhgTkfPcrUuBG1R1EnhMRF7q8so7DaJBLIhOTUTOx3Y+cyFehu8A/ysiezlULIDNYnCxiBREZCXmNfWWRaQ7gE32EyJyCMYW6lbWXSJyghOUv2yO8nwH+ANx2z4RecoC63GNK3OPe294ge+lWGJIdxgpngxcBvyziJQwXvrEXA+r6h7H3vqiiOTd7XdiE91VIlLAVq1/7P77kkv/DzFZxkNdkn498Ek3cT0M/La7fynwTyLyHsxd+iuBzwNfF5GfYfKZOaOUqepeJ7jeDHxLVf9URE4AfuLm12ngtdguaqG4GfgGxvZ5r1ognO0LSVdV7xCR2zCX1g8DN0b+/hTwLRHZoarnA2/H2HuPYvKmvi7leS8WSOhORzS20s5eTISqfltETgd+JiJV4JvAO+avfoqlhtS9eYr9DhHpU9Vpd/52YJ2qvvUAF2tJQ0SuwITRf3egy5IiRYh0h5HiycCLReRyrL89gmlHpUiRYpkh3WGkSJEiRYoFIRV6p0iRIkWKBSElGClSpEiRYkFICUaKFClSpFgQUoKRIkWKFCkWhJRgpEiRIkWKBSElGClSpEiRYkFICUaKFClSpFgQUoKRIkWKFCkWhJRgpEiRIkWKBSElGClSpEiRYkE4oARDRDR2zBtYRUSC8Pl9zXOOsnT1JDrf/wnPV/a1jPOkW4uWw5Ur6PLskvf74sp/5ROUVpDUFnN9CxFpRPpfPXL/yljfTPz28e+xVCEio936yXLDfP06XlcRKT9RY6HbeBORqWh/SXhn3jlrrnd/yTIHsb5ci/wX7f/z9o8DvsNQVVHVMIjN0AJeEaAaeeeJLIf/RKa5n+CzwO/2RLfREw0RqQCo6uufiPRU1VPVxfbpBubSPI5LXZoCzACeiJyR8NyCv8f+hnPw2A29zB/MKinNS/e9RAvO4/K5rvcBbXVV1eKTMBYew/pS0uTeAMoLTUhEwqiP1cUWosv3CoAJ1wbNIF3uWQ+oAp+zW/PkeSDjw1r2zfMg6To8wucjRzBf2knPxu4rLp6xO28kPdPlvcY8Za3Ez7FYzkEsnSB2bzKSX92dT7vrKxPejZcriLcv8FBS2SPlih43JbRlt/c76t2lrepztFvgzhvxtLCQrNF0asAZ7nw0ll8pWn/3bMd3nKe/1GPX8X5Tj72T9D22LKSt5vnubW3n7i803W7fqqP/JnyzIHoe+Y33k2qXNlzQN+xSnqQx1LV/zdMv42lHx+L3F9iOif0l3i8S/g/mencBfTA6JjSaXsJ3CPtGR7vPkcd4JL16rF2beXd9f64/9/cRKfilsY8XNoDQmiDCxlFak3y9WwPRGoA3uXemEgZG9GOEgyjs4KEn39FYJzwDo8g6V1kjH7dK+0AJO+Y2WoQgSChbtM7TkfzihDUs11WR9D4Ua9/Lge3RtFx5wzLW4vkndORonuPYikldepfHvl/S4P0QbhKPpVuJlKkS+3bR9mhOcLH79S73431mIYM1SjDC73R5pJ0aCe8lfY+wDKPuessiv3vHgF5AumGbzfmtI+Wcl2DE/qvONeb28RsqboGSUI8554BF1jVKMKJjPhyb34/kv5sWUZnt0k/2J8GIzi3x69uB70fLHmurylzpJ9Q/3ge6lr35zHwZ7M8j0mnC49Iu9+OdeXof0o5OHpcndCR1DXh55J0GcGW3QTRXWWlfDdS6fRT3fznhY0bLPB/BiA/ucqyMH0oo4wydAytxhRF23Ni9rp3NPS/x8uEGvju/slvHjeVbiV3vZm4iEbhnomWrJaWfkFeUYET7QbM/JLzXjYBHj+oiv3sj9tzoItJd6Leej2DMuvP4Kl67fKvFfsN4v11IOzbLt8i6dozzWD61LvnXu9RnfxKM5mIibLtI2cN2a/sO3dq+2zeitXhefgQj1hCJK5ykRl1gw9we7yTMQzDc+VWRNLp2tLnKSjvBmG9gTMf/i3ZY3Gp+jvfjBKMSK2PY+T4UfYZkgtHRYaJpxts46d35yhd/v1uHj+frrrdjq8jo4GrbPeIm2Mh7NdrbtWPSi7b3HP2uGu0XRFiM8ecS3l/Md49PaLsXke5Cv3WcHREff2HZtnf5NiFXIDwW+w0XMi66zgGLrOu+EoykBULXcs01hhLGRVv7Rds9Uq9GQtkVW3hdHrmfOBbdES5KQhZtNfLc8mRJxSr0IVqD8iH3XxkoxTvzHOlGJ6Nw2xklGHOxpB6K5DU5V0eL5hUvKy2CsaVbnvH6JJQnqZxdV4bRQZM0sGLlXSzBiD43jq3kwg4eZynOWb54e7JIdkZs8CTmRTvBbXuuW1+kfYdxO7AlKe9ufS1WrnCH1caKXOB3D8/jO6mFpNvtW0/Fnpt1/11F8oJtOlbW8FsJkR1z5Jl9Zit2qcecc8Ai6zofS+qqLt9nvxGMOfrgNMa2DLBdeJxgzDsnJKQbfuu4DC7cRVdoyeM6vm3bO3P9ub+PeCWTGiRyVCLPzCnDcB1AY0c3gVib0JvWRBge0UHUQTC6lTX2oUcj6S904qjG0gzvR4WITcFkLL04wZiOpxUvY0L+UeHbooXe3QZYJH0lImBnEQLT6LdPqPuihN7xfCN5xwWMHfzsLt/jpi7pLYpgRI6Q6C003cRvHU+7S17dCEa8Lbqt/Bcr9O5KMOabAxZTV9rH4pxC79j3WRTBSChLtcv9bn2xrd2jbT/PnDAfweiaf+ybzbm7UNU0RGuKJx8iUgYKusTVfg8EnM59Q1UzB7osKTrhvo/q4tW3DwqknTLFkw5VLR7oMqRIkWLxSAlGihRLCOmua8kjtJ/5lUTKkkqRIkWKFAvCryQfLkWKFClSLB4pwUiRIkWKFAtCSjBSpEiRIsWCkBKMFClSpEixIKQEI0WKFClSLAj/H10Y6R45NPUnAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ef6aa99b0>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plotting limited scale by removing outliers with higher detail\n",
"for column in df_infected.columns:\n",
" x = df_highest_temperature[column]\n",
" y = df_infected[column]\n",
" axes = plt.gca()\n",
" axes.set_facecolor('black')\n",
" axes.set_xlim([-16,50])\n",
" axes.set_ylim([0,150])\n",
" plt.xlabel('Highest local temperature ˚c')\n",
" plt.ylabel('New daily confirmed COVID-19 case')\n",
" plt.figtext(0.50, -0.05, 'Ref: abishekmuthian.com/covid-19-temperature-correlation | 11-Mar-20', horizontalalignment='center')\n",
" plt.scatter(x,y,c=x,cmap = 'jet')\n",
" plt.savefig('covid-19-temperature-correlation-Mar-11.png', dpi=300, bbox_inches = 'tight') "
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x7ef69a2438>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Clearing current plot\n",
"plt.clf()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment