Created
March 18, 2020 21:58
-
-
Save bartaelterman/381961fe4fc98bbdf6b18dc32bdca9da to your computer and use it in GitHub Desktop.
COV-19 exploration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import altair as alt" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import datetime" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"!rm time_series_19-covid-Confirmed.csv" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"--2020-03-18 21:47:19-- https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv\n", | |
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133\n", | |
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 72722 (71K) [text/plain]\n", | |
"Saving to: ‘time_series_19-covid-Confirmed.csv’\n", | |
"\n", | |
"time_series_19-covi 100%[===================>] 71.02K --.-KB/s in 0.02s \n", | |
"\n", | |
"2020-03-18 21:47:19 (3.33 MB/s) - ‘time_series_19-covid-Confirmed.csv’ saved [72722/72722]\n", | |
"\n", | |
"--2020-03-18 21:47:19-- https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Recovered.csv\n", | |
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133\n", | |
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 69976 (68K) [text/plain]\n", | |
"Saving to: ‘time_series_19-covid-Recovered.csv’\n", | |
"\n", | |
"time_series_19-covi 100%[===================>] 68.34K --.-KB/s in 0.02s \n", | |
"\n", | |
"2020-03-18 21:47:19 (2.92 MB/s) - ‘time_series_19-covid-Recovered.csv’ saved [69976/69976]\n", | |
"\n", | |
"--2020-03-18 21:47:19-- https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Deaths.csv\n", | |
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133\n", | |
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 67723 (66K) [text/plain]\n", | |
"Saving to: ‘time_series_19-covid-Deaths.csv’\n", | |
"\n", | |
"time_series_19-covi 100%[===================>] 66.14K --.-KB/s in 0.02s \n", | |
"\n", | |
"2020-03-18 21:47:20 (3.08 MB/s) - ‘time_series_19-covid-Deaths.csv’ saved [67723/67723]\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"!wget https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv\n", | |
"!wget https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Recovered.csv\n", | |
"!wget https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Deaths.csv" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 46, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def aggregate_and_transpose_data(ts_data, agg='province'):\n", | |
" df = ts_data.copy()\n", | |
" df.drop(['Lat', 'Long'], axis=1, inplace=True)\n", | |
" if agg == 'province':\n", | |
" df.drop(['Country/Region'], axis=1, inplace=True)\n", | |
" region_col = 'Province/State'\n", | |
" else:\n", | |
" df.drop(['Province/State'], axis=1, inplace=True)\n", | |
" df = df.groupby('Country/Region', as_index=False).sum()\n", | |
" region_col = 'Country/Region'\n", | |
" df.index = pd.Index(df[region_col])\n", | |
" df = df.drop([region_col], axis=1).T\n", | |
" df['time'] = df.index\n", | |
" df['time'] = pd.to_datetime(df['time'])\n", | |
" df = df.melt(id_vars=['time'])\n", | |
" return df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 99, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def merge_confirmed_deaths_recovered(confirmed_df, deaths_df, recovered_df):\n", | |
" confirmed_df = confirmed_df.rename({'value': 'confirmed'}, axis=1)\n", | |
" deaths_df = deaths_df.rename({'value': 'deaths'}, axis=1)\n", | |
" recovered_df = recovered_df.rename({'value': 'recovered'}, axis=1)\n", | |
" tmp = pd.merge(confirmed_df, deaths_df, on=['time', 'Country/Region'])\n", | |
" merged = pd.merge(tmp, recovered_df, on=['time', 'Country/Region'])\n", | |
" return merged" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 113, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def add_columns(data):\n", | |
" # get nr of people ill at any time point\n", | |
" data['currently_ill'] = data['confirmed'] - data['deaths'] - data['recovered']\n", | |
" # new cases = confirmed today - confirmed yesterday\n", | |
" out_dfs = []\n", | |
" groups = data.groupby('Country/Region')\n", | |
" for name, group in groups:\n", | |
" country_df = group.copy()\n", | |
" country_df['confirmed_yesterday'] = country_df['confirmed'].shift(fill_value=0)\n", | |
" out_dfs.append(country_df)\n", | |
" data = pd.concat(out_dfs)\n", | |
" data['new_confirmed'] = data['confirmed'] - data['confirmed_yesterday']\n", | |
" return data\n", | |
" " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"confirmed = pd.read_csv('time_series_19-covid-Confirmed.csv')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"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/8/20</th>\n", | |
" <th>3/9/20</th>\n", | |
" <th>3/10/20</th>\n", | |
" <th>3/11/20</th>\n", | |
" <th>3/12/20</th>\n", | |
" <th>3/13/20</th>\n", | |
" <th>3/14/20</th>\n", | |
" <th>3/15/20</th>\n", | |
" <th>3/16/20</th>\n", | |
" <th>3/17/20</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Thailand</td>\n", | |
" <td>15.0000</td>\n", | |
" <td>101.0000</td>\n", | |
" <td>2</td>\n", | |
" <td>3</td>\n", | |
" <td>5</td>\n", | |
" <td>7</td>\n", | |
" <td>8</td>\n", | |
" <td>8</td>\n", | |
" <td>...</td>\n", | |
" <td>50</td>\n", | |
" <td>50</td>\n", | |
" <td>53</td>\n", | |
" <td>59</td>\n", | |
" <td>70</td>\n", | |
" <td>75</td>\n", | |
" <td>82</td>\n", | |
" <td>114</td>\n", | |
" <td>147</td>\n", | |
" <td>177</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Japan</td>\n", | |
" <td>36.0000</td>\n", | |
" <td>138.0000</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>...</td>\n", | |
" <td>502</td>\n", | |
" <td>511</td>\n", | |
" <td>581</td>\n", | |
" <td>639</td>\n", | |
" <td>639</td>\n", | |
" <td>701</td>\n", | |
" <td>773</td>\n", | |
" <td>839</td>\n", | |
" <td>825</td>\n", | |
" <td>878</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Singapore</td>\n", | |
" <td>1.2833</td>\n", | |
" <td>103.8333</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>3</td>\n", | |
" <td>4</td>\n", | |
" <td>5</td>\n", | |
" <td>...</td>\n", | |
" <td>150</td>\n", | |
" <td>150</td>\n", | |
" <td>160</td>\n", | |
" <td>178</td>\n", | |
" <td>178</td>\n", | |
" <td>200</td>\n", | |
" <td>212</td>\n", | |
" <td>226</td>\n", | |
" <td>243</td>\n", | |
" <td>266</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Nepal</td>\n", | |
" <td>28.1667</td>\n", | |
" <td>84.2500</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>...</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Malaysia</td>\n", | |
" <td>2.5000</td>\n", | |
" <td>112.5000</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>...</td>\n", | |
" <td>99</td>\n", | |
" <td>117</td>\n", | |
" <td>129</td>\n", | |
" <td>149</td>\n", | |
" <td>149</td>\n", | |
" <td>197</td>\n", | |
" <td>238</td>\n", | |
" <td>428</td>\n", | |
" <td>566</td>\n", | |
" <td>673</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 60 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", | |
"0 NaN Thailand 15.0000 101.0000 2 3 5 \n", | |
"1 NaN Japan 36.0000 138.0000 2 1 2 \n", | |
"2 NaN Singapore 1.2833 103.8333 0 1 3 \n", | |
"3 NaN Nepal 28.1667 84.2500 0 0 0 \n", | |
"4 NaN Malaysia 2.5000 112.5000 0 0 0 \n", | |
"\n", | |
" 1/25/20 1/26/20 1/27/20 ... 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 \\\n", | |
"0 7 8 8 ... 50 50 53 59 70 \n", | |
"1 2 4 4 ... 502 511 581 639 639 \n", | |
"2 3 4 5 ... 150 150 160 178 178 \n", | |
"3 1 1 1 ... 1 1 1 1 1 \n", | |
"4 3 4 4 ... 99 117 129 149 149 \n", | |
"\n", | |
" 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 \n", | |
"0 75 82 114 147 177 \n", | |
"1 701 773 839 825 878 \n", | |
"2 200 212 226 243 266 \n", | |
"3 1 1 1 1 1 \n", | |
"4 197 238 428 566 673 \n", | |
"\n", | |
"[5 rows x 60 columns]" | |
] | |
}, | |
"execution_count": 36, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"confirmed.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"deaths = pd.read_csv('time_series_19-covid-Deaths.csv')" | |
] | |
}, | |
{ | |
"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>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/8/20</th>\n", | |
" <th>3/9/20</th>\n", | |
" <th>3/10/20</th>\n", | |
" <th>3/11/20</th>\n", | |
" <th>3/12/20</th>\n", | |
" <th>3/13/20</th>\n", | |
" <th>3/14/20</th>\n", | |
" <th>3/15/20</th>\n", | |
" <th>3/16/20</th>\n", | |
" <th>3/17/20</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Thailand</td>\n", | |
" <td>15.0000</td>\n", | |
" <td>101.0000</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>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Japan</td>\n", | |
" <td>36.0000</td>\n", | |
" <td>138.0000</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>6</td>\n", | |
" <td>10</td>\n", | |
" <td>10</td>\n", | |
" <td>15</td>\n", | |
" <td>16</td>\n", | |
" <td>19</td>\n", | |
" <td>22</td>\n", | |
" <td>22</td>\n", | |
" <td>27</td>\n", | |
" <td>29</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Singapore</td>\n", | |
" <td>1.2833</td>\n", | |
" <td>103.8333</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>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Nepal</td>\n", | |
" <td>28.1667</td>\n", | |
" <td>84.2500</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>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Malaysia</td>\n", | |
" <td>2.5000</td>\n", | |
" <td>112.5000</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", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 60 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", | |
"0 NaN Thailand 15.0000 101.0000 0 0 0 \n", | |
"1 NaN Japan 36.0000 138.0000 0 0 0 \n", | |
"2 NaN Singapore 1.2833 103.8333 0 0 0 \n", | |
"3 NaN Nepal 28.1667 84.2500 0 0 0 \n", | |
"4 NaN Malaysia 2.5000 112.5000 0 0 0 \n", | |
"\n", | |
" 1/25/20 1/26/20 1/27/20 ... 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 \\\n", | |
"0 0 0 0 ... 1 1 1 1 1 \n", | |
"1 0 0 0 ... 6 10 10 15 16 \n", | |
"2 0 0 0 ... 0 0 0 0 0 \n", | |
"3 0 0 0 ... 0 0 0 0 0 \n", | |
"4 0 0 0 ... 0 0 0 0 0 \n", | |
"\n", | |
" 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 \n", | |
"0 1 1 1 1 1 \n", | |
"1 19 22 22 27 29 \n", | |
"2 0 0 0 0 0 \n", | |
"3 0 0 0 0 0 \n", | |
"4 0 0 0 0 2 \n", | |
"\n", | |
"[5 rows x 60 columns]" | |
] | |
}, | |
"execution_count": 38, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"deaths.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"recovered = pd.read_csv('time_series_19-covid-Recovered.csv')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"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/8/20</th>\n", | |
" <th>3/9/20</th>\n", | |
" <th>3/10/20</th>\n", | |
" <th>3/11/20</th>\n", | |
" <th>3/12/20</th>\n", | |
" <th>3/13/20</th>\n", | |
" <th>3/14/20</th>\n", | |
" <th>3/15/20</th>\n", | |
" <th>3/16/20</th>\n", | |
" <th>3/17/20</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Thailand</td>\n", | |
" <td>15.0000</td>\n", | |
" <td>101.0000</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>...</td>\n", | |
" <td>31</td>\n", | |
" <td>31</td>\n", | |
" <td>33</td>\n", | |
" <td>34</td>\n", | |
" <td>34</td>\n", | |
" <td>35</td>\n", | |
" <td>35</td>\n", | |
" <td>35</td>\n", | |
" <td>35</td>\n", | |
" <td>41</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Japan</td>\n", | |
" <td>36.0000</td>\n", | |
" <td>138.0000</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>...</td>\n", | |
" <td>76</td>\n", | |
" <td>76</td>\n", | |
" <td>101</td>\n", | |
" <td>118</td>\n", | |
" <td>118</td>\n", | |
" <td>118</td>\n", | |
" <td>118</td>\n", | |
" <td>118</td>\n", | |
" <td>144</td>\n", | |
" <td>144</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Singapore</td>\n", | |
" <td>1.2833</td>\n", | |
" <td>103.8333</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>78</td>\n", | |
" <td>78</td>\n", | |
" <td>78</td>\n", | |
" <td>96</td>\n", | |
" <td>96</td>\n", | |
" <td>97</td>\n", | |
" <td>105</td>\n", | |
" <td>105</td>\n", | |
" <td>109</td>\n", | |
" <td>114</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Nepal</td>\n", | |
" <td>28.1667</td>\n", | |
" <td>84.2500</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>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>NaN</td>\n", | |
" <td>Malaysia</td>\n", | |
" <td>2.5000</td>\n", | |
" <td>112.5000</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>24</td>\n", | |
" <td>24</td>\n", | |
" <td>24</td>\n", | |
" <td>26</td>\n", | |
" <td>26</td>\n", | |
" <td>26</td>\n", | |
" <td>35</td>\n", | |
" <td>42</td>\n", | |
" <td>42</td>\n", | |
" <td>49</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 60 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", | |
"0 NaN Thailand 15.0000 101.0000 0 0 0 \n", | |
"1 NaN Japan 36.0000 138.0000 0 0 0 \n", | |
"2 NaN Singapore 1.2833 103.8333 0 0 0 \n", | |
"3 NaN Nepal 28.1667 84.2500 0 0 0 \n", | |
"4 NaN Malaysia 2.5000 112.5000 0 0 0 \n", | |
"\n", | |
" 1/25/20 1/26/20 1/27/20 ... 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 \\\n", | |
"0 0 2 2 ... 31 31 33 34 34 \n", | |
"1 0 1 1 ... 76 76 101 118 118 \n", | |
"2 0 0 0 ... 78 78 78 96 96 \n", | |
"3 0 0 0 ... 1 1 1 1 1 \n", | |
"4 0 0 0 ... 24 24 24 26 26 \n", | |
"\n", | |
" 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 \n", | |
"0 35 35 35 35 41 \n", | |
"1 118 118 118 144 144 \n", | |
"2 97 105 105 109 114 \n", | |
"3 1 1 1 1 1 \n", | |
"4 26 35 42 42 49 \n", | |
"\n", | |
"[5 rows x 60 columns]" | |
] | |
}, | |
"execution_count": 40, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"recovered.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 47, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"confirmed_tr = aggregate_and_transpose_data(confirmed, agg='country')\n", | |
"deaths_tr = aggregate_and_transpose_data(deaths, agg='country')\n", | |
"recovered_tr = aggregate_and_transpose_data(recovered, agg='country')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 109, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"all_data = merge_confirmed_deaths_recovered(confirmed_tr, deaths_tr, recovered_tr)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 114, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"all_data = add_columns(all_data)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 115, | |
"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>time</th>\n", | |
" <th>Country/Region</th>\n", | |
" <th>confirmed</th>\n", | |
" <th>deaths</th>\n", | |
" <th>recovered</th>\n", | |
" <th>currently_ill</th>\n", | |
" <th>confirmed_yesterday</th>\n", | |
" <th>new_confirmed</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2020-01-22</td>\n", | |
" <td>Afghanistan</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2020-01-23</td>\n", | |
" <td>Afghanistan</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2020-01-24</td>\n", | |
" <td>Afghanistan</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2020-01-25</td>\n", | |
" <td>Afghanistan</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2020-01-26</td>\n", | |
" <td>Afghanistan</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", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" time Country/Region confirmed deaths recovered currently_ill \\\n", | |
"0 2020-01-22 Afghanistan 0 0 0 0 \n", | |
"1 2020-01-23 Afghanistan 0 0 0 0 \n", | |
"2 2020-01-24 Afghanistan 0 0 0 0 \n", | |
"3 2020-01-25 Afghanistan 0 0 0 0 \n", | |
"4 2020-01-26 Afghanistan 0 0 0 0 \n", | |
"\n", | |
" confirmed_yesterday new_confirmed \n", | |
"0 0 0 \n", | |
"1 0 0 \n", | |
"2 0 0 \n", | |
"3 0 0 \n", | |
"4 0 0 " | |
] | |
}, | |
"execution_count": 115, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"all_data.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 116, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"china_data = all_data[all_data['Country/Region'] == 'China']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 118, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"\n", | |
"<div id=\"altair-viz-d30cfd7b6b28495ea64c0841e1af28e6\"></div>\n", | |
"<script type=\"text/javascript\">\n", | |
" (function(spec, embedOpt){\n", | |
" const outputDiv = document.getElementById(\"altair-viz-d30cfd7b6b28495ea64c0841e1af28e6\");\n", | |
" const paths = {\n", | |
" \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n", | |
" \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n", | |
" \"vega-lite\": \"https://cdn.jsdelivr.net/npm//[email protected]?noext\",\n", | |
" \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n", | |
" };\n", | |
"\n", | |
" function loadScript(lib) {\n", | |
" return new Promise(function(resolve, reject) {\n", | |
" var s = document.createElement('script');\n", | |
" s.src = paths[lib];\n", | |
" s.async = true;\n", | |
" s.onload = () => resolve(paths[lib]);\n", | |
" s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n", | |
" document.getElementsByTagName(\"head\")[0].appendChild(s);\n", | |
" });\n", | |
" }\n", | |
"\n", | |
" function showError(err) {\n", | |
" outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n", | |
" throw err;\n", | |
" }\n", | |
"\n", | |
" function displayChart(vegaEmbed) {\n", | |
" vegaEmbed(outputDiv, spec, embedOpt)\n", | |
" .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n", | |
" }\n", | |
"\n", | |
" if(typeof define === \"function\" && define.amd) {\n", | |
" requirejs.config({paths});\n", | |
" require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n", | |
" } else if (typeof vegaEmbed === \"function\") {\n", | |
" displayChart(vegaEmbed);\n", | |
" } else {\n", | |
" loadScript(\"vega\")\n", | |
" .then(() => loadScript(\"vega-lite\"))\n", | |
" .then(() => loadScript(\"vega-embed\"))\n", | |
" .catch(showError)\n", | |
" .then(() => displayChart(vegaEmbed));\n", | |
" }\n", | |
" })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"data\": {\"name\": \"data-b06b54a42802870c40c252caca72d423\"}, \"mark\": \"line\", \"encoding\": {\"x\": {\"type\": \"temporal\", \"field\": \"time\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"currently_ill\"}}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.0.2.json\", \"datasets\": {\"data-b06b54a42802870c40c252caca72d423\": [{\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 548, \"deaths\": 17, \"recovered\": 28, \"currently_ill\": 503, \"confirmed_yesterday\": 0, \"new_confirmed\": 548}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 643, \"deaths\": 18, \"recovered\": 30, \"currently_ill\": 595, \"confirmed_yesterday\": 548, \"new_confirmed\": 95}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 920, \"deaths\": 26, \"recovered\": 36, \"currently_ill\": 858, \"confirmed_yesterday\": 643, \"new_confirmed\": 277}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 1406, \"deaths\": 42, \"recovered\": 39, \"currently_ill\": 1325, \"confirmed_yesterday\": 920, \"new_confirmed\": 486}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 2075, \"deaths\": 56, \"recovered\": 49, \"currently_ill\": 1970, \"confirmed_yesterday\": 1406, \"new_confirmed\": 669}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 2877, \"deaths\": 82, \"recovered\": 58, \"currently_ill\": 2737, \"confirmed_yesterday\": 2075, \"new_confirmed\": 802}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 5509, \"deaths\": 131, \"recovered\": 101, \"currently_ill\": 5277, \"confirmed_yesterday\": 2877, \"new_confirmed\": 2632}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 6087, \"deaths\": 133, \"recovered\": 120, \"currently_ill\": 5834, \"confirmed_yesterday\": 5509, \"new_confirmed\": 578}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 8141, \"deaths\": 171, \"recovered\": 135, \"currently_ill\": 7835, \"confirmed_yesterday\": 6087, \"new_confirmed\": 2054}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 9802, \"deaths\": 213, \"recovered\": 214, \"currently_ill\": 9375, \"confirmed_yesterday\": 8141, \"new_confirmed\": 1661}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 11891, \"deaths\": 259, \"recovered\": 275, \"currently_ill\": 11357, \"confirmed_yesterday\": 9802, \"new_confirmed\": 2089}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 16630, \"deaths\": 361, \"recovered\": 463, \"currently_ill\": 15806, \"confirmed_yesterday\": 11891, \"new_confirmed\": 4739}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 19716, \"deaths\": 425, \"recovered\": 614, \"currently_ill\": 18677, \"confirmed_yesterday\": 16630, \"new_confirmed\": 3086}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 23707, \"deaths\": 491, \"recovered\": 843, \"currently_ill\": 22373, \"confirmed_yesterday\": 19716, \"new_confirmed\": 3991}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 27440, \"deaths\": 563, \"recovered\": 1115, \"currently_ill\": 25762, \"confirmed_yesterday\": 23707, \"new_confirmed\": 3733}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 30587, \"deaths\": 633, \"recovered\": 1477, \"currently_ill\": 28477, \"confirmed_yesterday\": 27440, \"new_confirmed\": 3147}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 34110, \"deaths\": 718, \"recovered\": 1999, \"currently_ill\": 31393, \"confirmed_yesterday\": 30587, \"new_confirmed\": 3523}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 36814, \"deaths\": 805, \"recovered\": 2596, \"currently_ill\": 33413, \"confirmed_yesterday\": 34110, \"new_confirmed\": 2704}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 39829, \"deaths\": 905, \"recovered\": 3219, \"currently_ill\": 35705, \"confirmed_yesterday\": 36814, \"new_confirmed\": 3015}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 42354, \"deaths\": 1012, \"recovered\": 3918, \"currently_ill\": 37424, \"confirmed_yesterday\": 39829, \"new_confirmed\": 2525}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 44386, \"deaths\": 1112, \"recovered\": 4636, \"currently_ill\": 38638, \"confirmed_yesterday\": 42354, \"new_confirmed\": 2032}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 44759, \"deaths\": 1117, \"recovered\": 5082, \"currently_ill\": 38560, \"confirmed_yesterday\": 44386, \"new_confirmed\": 373}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 59895, \"deaths\": 1369, \"recovered\": 6217, \"currently_ill\": 52309, \"confirmed_yesterday\": 44759, \"new_confirmed\": 15136}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 66358, \"deaths\": 1521, \"recovered\": 7977, \"currently_ill\": 56860, \"confirmed_yesterday\": 59895, \"new_confirmed\": 6463}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 68413, \"deaths\": 1663, \"recovered\": 9298, \"currently_ill\": 57452, \"confirmed_yesterday\": 66358, \"new_confirmed\": 2055}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 70513, \"deaths\": 1766, \"recovered\": 10755, \"currently_ill\": 57992, \"confirmed_yesterday\": 68413, \"new_confirmed\": 2100}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 72434, \"deaths\": 1864, \"recovered\": 12462, \"currently_ill\": 58108, \"confirmed_yesterday\": 70513, \"new_confirmed\": 1921}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 74211, \"deaths\": 2003, \"recovered\": 14206, \"currently_ill\": 58002, \"confirmed_yesterday\": 72434, \"new_confirmed\": 1777}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 74619, \"deaths\": 2116, \"recovered\": 15962, \"currently_ill\": 56541, \"confirmed_yesterday\": 74211, \"new_confirmed\": 408}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 75077, \"deaths\": 2238, \"recovered\": 18014, \"currently_ill\": 54825, \"confirmed_yesterday\": 74619, \"new_confirmed\": 458}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 75550, \"deaths\": 2238, \"recovered\": 18704, \"currently_ill\": 54608, \"confirmed_yesterday\": 75077, \"new_confirmed\": 473}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 77001, \"deaths\": 2443, \"recovered\": 22699, \"currently_ill\": 51859, \"confirmed_yesterday\": 75550, \"new_confirmed\": 1451}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 77022, \"deaths\": 2445, \"recovered\": 23187, \"currently_ill\": 51390, \"confirmed_yesterday\": 77001, \"new_confirmed\": 21}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 77241, \"deaths\": 2595, \"recovered\": 25015, \"currently_ill\": 49631, \"confirmed_yesterday\": 77022, \"new_confirmed\": 219}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 77754, \"deaths\": 2665, \"recovered\": 27676, \"currently_ill\": 47413, \"confirmed_yesterday\": 77241, \"new_confirmed\": 513}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 78166, \"deaths\": 2717, \"recovered\": 30084, \"currently_ill\": 45365, \"confirmed_yesterday\": 77754, \"new_confirmed\": 412}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 78600, \"deaths\": 2746, \"recovered\": 32930, \"currently_ill\": 42924, \"confirmed_yesterday\": 78166, \"new_confirmed\": 434}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 78928, \"deaths\": 2790, \"recovered\": 36329, \"currently_ill\": 39809, \"confirmed_yesterday\": 78600, \"new_confirmed\": 328}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 79356, \"deaths\": 2837, \"recovered\": 39320, \"currently_ill\": 37199, \"confirmed_yesterday\": 78928, \"new_confirmed\": 428}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 79932, \"deaths\": 2872, \"recovered\": 42162, \"currently_ill\": 34898, \"confirmed_yesterday\": 79356, \"new_confirmed\": 576}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80136, \"deaths\": 2914, \"recovered\": 44854, \"currently_ill\": 32368, \"confirmed_yesterday\": 79932, \"new_confirmed\": 204}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80261, \"deaths\": 2947, \"recovered\": 47450, \"currently_ill\": 29864, \"confirmed_yesterday\": 80136, \"new_confirmed\": 125}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80386, \"deaths\": 2983, \"recovered\": 50001, \"currently_ill\": 27402, \"confirmed_yesterday\": 80261, \"new_confirmed\": 125}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80537, \"deaths\": 3015, \"recovered\": 52292, \"currently_ill\": 25230, \"confirmed_yesterday\": 80386, \"new_confirmed\": 151}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80690, \"deaths\": 3044, \"recovered\": 53944, \"currently_ill\": 23702, \"confirmed_yesterday\": 80537, \"new_confirmed\": 153}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80770, \"deaths\": 3072, \"recovered\": 55539, \"currently_ill\": 22159, \"confirmed_yesterday\": 80690, \"new_confirmed\": 80}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80823, \"deaths\": 3100, \"recovered\": 57388, \"currently_ill\": 20335, \"confirmed_yesterday\": 80770, \"new_confirmed\": 53}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80860, \"deaths\": 3123, \"recovered\": 58804, \"currently_ill\": 18933, \"confirmed_yesterday\": 80823, \"new_confirmed\": 37}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80887, \"deaths\": 3139, \"recovered\": 60181, \"currently_ill\": 17567, \"confirmed_yesterday\": 80860, \"new_confirmed\": 27}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80921, \"deaths\": 3161, \"recovered\": 61644, \"currently_ill\": 16116, \"confirmed_yesterday\": 80887, \"new_confirmed\": 34}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80932, \"deaths\": 3172, \"recovered\": 62901, \"currently_ill\": 14859, \"confirmed_yesterday\": 80921, \"new_confirmed\": 11}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80945, \"deaths\": 3180, \"recovered\": 64196, \"currently_ill\": 13569, \"confirmed_yesterday\": 80932, \"new_confirmed\": 13}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 80977, \"deaths\": 3193, \"recovered\": 65660, \"currently_ill\": 12124, \"confirmed_yesterday\": 80945, \"new_confirmed\": 32}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 81003, \"deaths\": 3203, \"recovered\": 67017, \"currently_ill\": 10783, \"confirmed_yesterday\": 80977, \"new_confirmed\": 26}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 81033, \"deaths\": 3217, \"recovered\": 67910, \"currently_ill\": 9906, \"confirmed_yesterday\": 81003, \"new_confirmed\": 30}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"China\", \"confirmed\": 81058, \"deaths\": 3230, \"recovered\": 68798, \"currently_ill\": 9030, \"confirmed_yesterday\": 81033, \"new_confirmed\": 25}]}}, {\"mode\": \"vega-lite\"});\n", | |
"</script>" | |
], | |
"text/plain": [ | |
"alt.Chart(...)" | |
] | |
}, | |
"execution_count": 118, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"alt.Chart(china_data).mark_line().encode(\n", | |
" x='time:T',\n", | |
" y='currently_ill:Q'\n", | |
")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 119, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"benelux = ['Belgium', 'Netherlands', 'Luxembourg']" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Ill people in the BeNeLux over time" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 120, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"\n", | |
"<div id=\"altair-viz-6c05311e74e045798683837fa447f566\"></div>\n", | |
"<script type=\"text/javascript\">\n", | |
" (function(spec, embedOpt){\n", | |
" const outputDiv = document.getElementById(\"altair-viz-6c05311e74e045798683837fa447f566\");\n", | |
" const paths = {\n", | |
" \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n", | |
" \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n", | |
" \"vega-lite\": \"https://cdn.jsdelivr.net/npm//[email protected]?noext\",\n", | |
" \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n", | |
" };\n", | |
"\n", | |
" function loadScript(lib) {\n", | |
" return new Promise(function(resolve, reject) {\n", | |
" var s = document.createElement('script');\n", | |
" s.src = paths[lib];\n", | |
" s.async = true;\n", | |
" s.onload = () => resolve(paths[lib]);\n", | |
" s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n", | |
" document.getElementsByTagName(\"head\")[0].appendChild(s);\n", | |
" });\n", | |
" }\n", | |
"\n", | |
" function showError(err) {\n", | |
" outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n", | |
" throw err;\n", | |
" }\n", | |
"\n", | |
" function displayChart(vegaEmbed) {\n", | |
" vegaEmbed(outputDiv, spec, embedOpt)\n", | |
" .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n", | |
" }\n", | |
"\n", | |
" if(typeof define === \"function\" && define.amd) {\n", | |
" requirejs.config({paths});\n", | |
" require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n", | |
" } else if (typeof vegaEmbed === \"function\") {\n", | |
" displayChart(vegaEmbed);\n", | |
" } else {\n", | |
" loadScript(\"vega\")\n", | |
" .then(() => loadScript(\"vega-lite\"))\n", | |
" .then(() => loadScript(\"vega-embed\"))\n", | |
" .catch(showError)\n", | |
" .then(() => displayChart(vegaEmbed));\n", | |
" }\n", | |
" })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"data\": {\"name\": \"data-3e94b644dcf43c8dc01fdcb8bec1a59f\"}, \"mark\": \"line\", \"encoding\": {\"color\": {\"type\": \"nominal\", \"field\": \"Country/Region\"}, \"x\": {\"type\": \"temporal\", \"field\": \"time\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"currently_ill\"}}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.0.2.json\", \"datasets\": {\"data-3e94b644dcf43c8dc01fdcb8bec1a59f\": [{\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 0, \"new_confirmed\": 1}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 1}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 8, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 7, \"confirmed_yesterday\": 2, \"new_confirmed\": 6}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 13, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 12, \"confirmed_yesterday\": 8, \"new_confirmed\": 5}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 23, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 22, \"confirmed_yesterday\": 13, \"new_confirmed\": 10}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 50, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 49, \"confirmed_yesterday\": 23, \"new_confirmed\": 27}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 109, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 108, \"confirmed_yesterday\": 50, \"new_confirmed\": 59}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 169, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 168, \"confirmed_yesterday\": 109, \"new_confirmed\": 60}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 200, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 199, \"confirmed_yesterday\": 169, \"new_confirmed\": 31}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 239, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 238, \"confirmed_yesterday\": 200, \"new_confirmed\": 39}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 267, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 266, \"confirmed_yesterday\": 239, \"new_confirmed\": 28}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 314, \"deaths\": 3, \"recovered\": 1, \"currently_ill\": 310, \"confirmed_yesterday\": 267, \"new_confirmed\": 47}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 314, \"deaths\": 3, \"recovered\": 1, \"currently_ill\": 310, \"confirmed_yesterday\": 314, \"new_confirmed\": 0}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 559, \"deaths\": 3, \"recovered\": 1, \"currently_ill\": 555, \"confirmed_yesterday\": 314, \"new_confirmed\": 245}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 689, \"deaths\": 4, \"recovered\": 1, \"currently_ill\": 684, \"confirmed_yesterday\": 559, \"new_confirmed\": 130}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 886, \"deaths\": 4, \"recovered\": 1, \"currently_ill\": 881, \"confirmed_yesterday\": 689, \"new_confirmed\": 197}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1058, \"deaths\": 5, \"recovered\": 1, \"currently_ill\": 1052, \"confirmed_yesterday\": 886, \"new_confirmed\": 172}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1243, \"deaths\": 10, \"recovered\": 1, \"currently_ill\": 1232, \"confirmed_yesterday\": 1058, \"new_confirmed\": 185}, {\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 0, \"new_confirmed\": 1}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 1, \"new_confirmed\": 1}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 2, \"new_confirmed\": 1}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 5, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 5, \"confirmed_yesterday\": 3, \"new_confirmed\": 2}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 7, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 7, \"confirmed_yesterday\": 5, \"new_confirmed\": 2}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 19, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 19, \"confirmed_yesterday\": 7, \"new_confirmed\": 12}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 34, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 34, \"confirmed_yesterday\": 19, \"new_confirmed\": 15}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 51, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 50, \"confirmed_yesterday\": 34, \"new_confirmed\": 17}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 59, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 58, \"confirmed_yesterday\": 51, \"new_confirmed\": 8}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 77, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 76, \"confirmed_yesterday\": 59, \"new_confirmed\": 18}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 140, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 139, \"confirmed_yesterday\": 77, \"new_confirmed\": 63}, {\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 0, \"new_confirmed\": 1}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 6, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 6, \"confirmed_yesterday\": 1, \"new_confirmed\": 5}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 10, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 10, \"confirmed_yesterday\": 6, \"new_confirmed\": 4}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 18, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 18, \"confirmed_yesterday\": 10, \"new_confirmed\": 8}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 24, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 24, \"confirmed_yesterday\": 18, \"new_confirmed\": 6}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 38, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 38, \"confirmed_yesterday\": 24, \"new_confirmed\": 14}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 82, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 82, \"confirmed_yesterday\": 38, \"new_confirmed\": 44}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 128, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 127, \"confirmed_yesterday\": 82, \"new_confirmed\": 46}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 188, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 187, \"confirmed_yesterday\": 128, \"new_confirmed\": 60}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 265, \"deaths\": 3, \"recovered\": 0, \"currently_ill\": 262, \"confirmed_yesterday\": 188, \"new_confirmed\": 77}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 321, \"deaths\": 3, \"recovered\": 0, \"currently_ill\": 318, \"confirmed_yesterday\": 265, \"new_confirmed\": 56}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 382, \"deaths\": 4, \"recovered\": 0, \"currently_ill\": 378, \"confirmed_yesterday\": 321, \"new_confirmed\": 61}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 503, \"deaths\": 5, \"recovered\": 0, \"currently_ill\": 498, \"confirmed_yesterday\": 382, \"new_confirmed\": 121}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 503, \"deaths\": 5, \"recovered\": 0, \"currently_ill\": 498, \"confirmed_yesterday\": 503, \"new_confirmed\": 0}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 804, \"deaths\": 10, \"recovered\": 0, \"currently_ill\": 794, \"confirmed_yesterday\": 503, \"new_confirmed\": 301}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 960, \"deaths\": 12, \"recovered\": 2, \"currently_ill\": 946, \"confirmed_yesterday\": 804, \"new_confirmed\": 156}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1136, \"deaths\": 20, \"recovered\": 2, \"currently_ill\": 1114, \"confirmed_yesterday\": 960, \"new_confirmed\": 176}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1414, \"deaths\": 24, \"recovered\": 2, \"currently_ill\": 1388, \"confirmed_yesterday\": 1136, \"new_confirmed\": 278}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1708, \"deaths\": 43, \"recovered\": 2, \"currently_ill\": 1663, \"confirmed_yesterday\": 1414, \"new_confirmed\": 294}]}}, {\"mode\": \"vega-lite\"});\n", | |
"</script>" | |
], | |
"text/plain": [ | |
"alt.Chart(...)" | |
] | |
}, | |
"execution_count": 120, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"alt.Chart(all_data[all_data['Country/Region'].apply(lambda x: x in benelux)]).mark_line().encode(\n", | |
" x='time:T',\n", | |
" y='currently_ill',\n", | |
" color='Country/Region'\n", | |
")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Speed of disease spread\n", | |
"\n", | |
"Comparing the number of new infections with the number of new infections from the day before." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 90, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 92, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 121, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"\n", | |
"<div id=\"altair-viz-09fb0cc8c4cc4be486c0f8d22d35c4a1\"></div>\n", | |
"<script type=\"text/javascript\">\n", | |
" (function(spec, embedOpt){\n", | |
" const outputDiv = document.getElementById(\"altair-viz-09fb0cc8c4cc4be486c0f8d22d35c4a1\");\n", | |
" const paths = {\n", | |
" \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n", | |
" \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n", | |
" \"vega-lite\": \"https://cdn.jsdelivr.net/npm//[email protected]?noext\",\n", | |
" \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n", | |
" };\n", | |
"\n", | |
" function loadScript(lib) {\n", | |
" return new Promise(function(resolve, reject) {\n", | |
" var s = document.createElement('script');\n", | |
" s.src = paths[lib];\n", | |
" s.async = true;\n", | |
" s.onload = () => resolve(paths[lib]);\n", | |
" s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n", | |
" document.getElementsByTagName(\"head\")[0].appendChild(s);\n", | |
" });\n", | |
" }\n", | |
"\n", | |
" function showError(err) {\n", | |
" outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n", | |
" throw err;\n", | |
" }\n", | |
"\n", | |
" function displayChart(vegaEmbed) {\n", | |
" vegaEmbed(outputDiv, spec, embedOpt)\n", | |
" .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n", | |
" }\n", | |
"\n", | |
" if(typeof define === \"function\" && define.amd) {\n", | |
" requirejs.config({paths});\n", | |
" require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n", | |
" } else if (typeof vegaEmbed === \"function\") {\n", | |
" displayChart(vegaEmbed);\n", | |
" } else {\n", | |
" loadScript(\"vega\")\n", | |
" .then(() => loadScript(\"vega-lite\"))\n", | |
" .then(() => loadScript(\"vega-embed\"))\n", | |
" .catch(showError)\n", | |
" .then(() => displayChart(vegaEmbed));\n", | |
" }\n", | |
" })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"data\": {\"name\": \"data-3e94b644dcf43c8dc01fdcb8bec1a59f\"}, \"mark\": \"line\", \"encoding\": {\"color\": {\"type\": \"nominal\", \"field\": \"Country/Region\"}, \"x\": {\"type\": \"temporal\", \"field\": \"time\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"new_confirmed\"}}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.0.2.json\", \"datasets\": {\"data-3e94b644dcf43c8dc01fdcb8bec1a59f\": [{\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 0, \"new_confirmed\": 1}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 0, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 1}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 8, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 7, \"confirmed_yesterday\": 2, \"new_confirmed\": 6}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 13, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 12, \"confirmed_yesterday\": 8, \"new_confirmed\": 5}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 23, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 22, \"confirmed_yesterday\": 13, \"new_confirmed\": 10}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 50, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 49, \"confirmed_yesterday\": 23, \"new_confirmed\": 27}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 109, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 108, \"confirmed_yesterday\": 50, \"new_confirmed\": 59}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 169, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 168, \"confirmed_yesterday\": 109, \"new_confirmed\": 60}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 200, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 199, \"confirmed_yesterday\": 169, \"new_confirmed\": 31}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 239, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 238, \"confirmed_yesterday\": 200, \"new_confirmed\": 39}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 267, \"deaths\": 0, \"recovered\": 1, \"currently_ill\": 266, \"confirmed_yesterday\": 239, \"new_confirmed\": 28}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 314, \"deaths\": 3, \"recovered\": 1, \"currently_ill\": 310, \"confirmed_yesterday\": 267, \"new_confirmed\": 47}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 314, \"deaths\": 3, \"recovered\": 1, \"currently_ill\": 310, \"confirmed_yesterday\": 314, \"new_confirmed\": 0}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 559, \"deaths\": 3, \"recovered\": 1, \"currently_ill\": 555, \"confirmed_yesterday\": 314, \"new_confirmed\": 245}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 689, \"deaths\": 4, \"recovered\": 1, \"currently_ill\": 684, \"confirmed_yesterday\": 559, \"new_confirmed\": 130}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 886, \"deaths\": 4, \"recovered\": 1, \"currently_ill\": 881, \"confirmed_yesterday\": 689, \"new_confirmed\": 197}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1058, \"deaths\": 5, \"recovered\": 1, \"currently_ill\": 1052, \"confirmed_yesterday\": 886, \"new_confirmed\": 172}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Belgium\", \"confirmed\": 1243, \"deaths\": 10, \"recovered\": 1, \"currently_ill\": 1232, \"confirmed_yesterday\": 1058, \"new_confirmed\": 185}, {\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 0, \"new_confirmed\": 1}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 1, \"new_confirmed\": 1}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 2, \"new_confirmed\": 1}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 5, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 5, \"confirmed_yesterday\": 3, \"new_confirmed\": 2}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 7, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 7, \"confirmed_yesterday\": 5, \"new_confirmed\": 2}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 19, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 19, \"confirmed_yesterday\": 7, \"new_confirmed\": 12}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 34, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 34, \"confirmed_yesterday\": 19, \"new_confirmed\": 15}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 51, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 50, \"confirmed_yesterday\": 34, \"new_confirmed\": 17}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 59, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 58, \"confirmed_yesterday\": 51, \"new_confirmed\": 8}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 77, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 76, \"confirmed_yesterday\": 59, \"new_confirmed\": 18}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Luxembourg\", \"confirmed\": 140, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 139, \"confirmed_yesterday\": 77, \"new_confirmed\": 63}, {\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 0, \"new_confirmed\": 1}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 1, \"confirmed_yesterday\": 1, \"new_confirmed\": 0}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 6, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 6, \"confirmed_yesterday\": 1, \"new_confirmed\": 5}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 10, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 10, \"confirmed_yesterday\": 6, \"new_confirmed\": 4}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 18, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 18, \"confirmed_yesterday\": 10, \"new_confirmed\": 8}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 24, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 24, \"confirmed_yesterday\": 18, \"new_confirmed\": 6}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 38, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 38, \"confirmed_yesterday\": 24, \"new_confirmed\": 14}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 82, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 82, \"confirmed_yesterday\": 38, \"new_confirmed\": 44}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 128, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 127, \"confirmed_yesterday\": 82, \"new_confirmed\": 46}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 188, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 187, \"confirmed_yesterday\": 128, \"new_confirmed\": 60}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 265, \"deaths\": 3, \"recovered\": 0, \"currently_ill\": 262, \"confirmed_yesterday\": 188, \"new_confirmed\": 77}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 321, \"deaths\": 3, \"recovered\": 0, \"currently_ill\": 318, \"confirmed_yesterday\": 265, \"new_confirmed\": 56}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 382, \"deaths\": 4, \"recovered\": 0, \"currently_ill\": 378, \"confirmed_yesterday\": 321, \"new_confirmed\": 61}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 503, \"deaths\": 5, \"recovered\": 0, \"currently_ill\": 498, \"confirmed_yesterday\": 382, \"new_confirmed\": 121}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 503, \"deaths\": 5, \"recovered\": 0, \"currently_ill\": 498, \"confirmed_yesterday\": 503, \"new_confirmed\": 0}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 804, \"deaths\": 10, \"recovered\": 0, \"currently_ill\": 794, \"confirmed_yesterday\": 503, \"new_confirmed\": 301}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 960, \"deaths\": 12, \"recovered\": 2, \"currently_ill\": 946, \"confirmed_yesterday\": 804, \"new_confirmed\": 156}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1136, \"deaths\": 20, \"recovered\": 2, \"currently_ill\": 1114, \"confirmed_yesterday\": 960, \"new_confirmed\": 176}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1414, \"deaths\": 24, \"recovered\": 2, \"currently_ill\": 1388, \"confirmed_yesterday\": 1136, \"new_confirmed\": 278}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Netherlands\", \"confirmed\": 1708, \"deaths\": 43, \"recovered\": 2, \"currently_ill\": 1663, \"confirmed_yesterday\": 1414, \"new_confirmed\": 294}]}}, {\"mode\": \"vega-lite\"});\n", | |
"</script>" | |
], | |
"text/plain": [ | |
"alt.Chart(...)" | |
] | |
}, | |
"execution_count": 121, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"alt.Chart(all_data[all_data['Country/Region'].apply(lambda x: x in benelux)]).mark_line().encode(\n", | |
" x='time:T',\n", | |
" y='new_confirmed',\n", | |
" color='Country/Region'\n", | |
")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 122, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"\n", | |
"<div id=\"altair-viz-cefe808460e94ff1b67f8602d31b809b\"></div>\n", | |
"<script type=\"text/javascript\">\n", | |
" (function(spec, embedOpt){\n", | |
" const outputDiv = document.getElementById(\"altair-viz-cefe808460e94ff1b67f8602d31b809b\");\n", | |
" const paths = {\n", | |
" \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n", | |
" \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n", | |
" \"vega-lite\": \"https://cdn.jsdelivr.net/npm//[email protected]?noext\",\n", | |
" \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n", | |
" };\n", | |
"\n", | |
" function loadScript(lib) {\n", | |
" return new Promise(function(resolve, reject) {\n", | |
" var s = document.createElement('script');\n", | |
" s.src = paths[lib];\n", | |
" s.async = true;\n", | |
" s.onload = () => resolve(paths[lib]);\n", | |
" s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n", | |
" document.getElementsByTagName(\"head\")[0].appendChild(s);\n", | |
" });\n", | |
" }\n", | |
"\n", | |
" function showError(err) {\n", | |
" outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n", | |
" throw err;\n", | |
" }\n", | |
"\n", | |
" function displayChart(vegaEmbed) {\n", | |
" vegaEmbed(outputDiv, spec, embedOpt)\n", | |
" .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n", | |
" }\n", | |
"\n", | |
" if(typeof define === \"function\" && define.amd) {\n", | |
" requirejs.config({paths});\n", | |
" require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n", | |
" } else if (typeof vegaEmbed === \"function\") {\n", | |
" displayChart(vegaEmbed);\n", | |
" } else {\n", | |
" loadScript(\"vega\")\n", | |
" .then(() => loadScript(\"vega-lite\"))\n", | |
" .then(() => loadScript(\"vega-embed\"))\n", | |
" .catch(showError)\n", | |
" .then(() => displayChart(vegaEmbed));\n", | |
" }\n", | |
" })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"data\": {\"name\": \"data-2aab9424c77c54653f01b0a0838e6799\"}, \"mark\": \"line\", \"encoding\": {\"color\": {\"type\": \"nominal\", \"field\": \"Country/Region\"}, \"x\": {\"type\": \"temporal\", \"field\": \"time\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"new_confirmed\"}}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.0.2.json\", \"datasets\": {\"data-2aab9424c77c54653f01b0a0838e6799\": [{\"time\": \"2020-01-22T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-23T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-24T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-25T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-26T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-27T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-28T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-29T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-30T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 0, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 0, \"confirmed_yesterday\": 0, \"new_confirmed\": 0}, {\"time\": \"2020-01-31T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 0, \"new_confirmed\": 2}, {\"time\": \"2020-02-01T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-02-02T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-02-03T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-02-04T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-02-05T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-02-06T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 2, \"confirmed_yesterday\": 2, \"new_confirmed\": 0}, {\"time\": \"2020-02-07T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 2, \"new_confirmed\": 1}, {\"time\": \"2020-02-08T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-09T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-10T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-11T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-12T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-13T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-14T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-15T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-16T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-17T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-18T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-19T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-20T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3, \"deaths\": 0, \"recovered\": 0, \"currently_ill\": 3, \"confirmed_yesterday\": 3, \"new_confirmed\": 0}, {\"time\": \"2020-02-21T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 20, \"deaths\": 1, \"recovered\": 0, \"currently_ill\": 19, \"confirmed_yesterday\": 3, \"new_confirmed\": 17}, {\"time\": \"2020-02-22T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 62, \"deaths\": 2, \"recovered\": 1, \"currently_ill\": 59, \"confirmed_yesterday\": 20, \"new_confirmed\": 42}, {\"time\": \"2020-02-23T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 155, \"deaths\": 3, \"recovered\": 2, \"currently_ill\": 150, \"confirmed_yesterday\": 62, \"new_confirmed\": 93}, {\"time\": \"2020-02-24T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 229, \"deaths\": 7, \"recovered\": 1, \"currently_ill\": 221, \"confirmed_yesterday\": 155, \"new_confirmed\": 74}, {\"time\": \"2020-02-25T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 322, \"deaths\": 10, \"recovered\": 1, \"currently_ill\": 311, \"confirmed_yesterday\": 229, \"new_confirmed\": 93}, {\"time\": \"2020-02-26T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 453, \"deaths\": 12, \"recovered\": 3, \"currently_ill\": 438, \"confirmed_yesterday\": 322, \"new_confirmed\": 131}, {\"time\": \"2020-02-27T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 655, \"deaths\": 17, \"recovered\": 45, \"currently_ill\": 593, \"confirmed_yesterday\": 453, \"new_confirmed\": 202}, {\"time\": \"2020-02-28T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 888, \"deaths\": 21, \"recovered\": 46, \"currently_ill\": 821, \"confirmed_yesterday\": 655, \"new_confirmed\": 233}, {\"time\": \"2020-02-29T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 1128, \"deaths\": 29, \"recovered\": 46, \"currently_ill\": 1053, \"confirmed_yesterday\": 888, \"new_confirmed\": 240}, {\"time\": \"2020-03-01T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 1694, \"deaths\": 34, \"recovered\": 83, \"currently_ill\": 1577, \"confirmed_yesterday\": 1128, \"new_confirmed\": 566}, {\"time\": \"2020-03-02T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2036, \"deaths\": 52, \"recovered\": 149, \"currently_ill\": 1835, \"confirmed_yesterday\": 1694, \"new_confirmed\": 342}, {\"time\": \"2020-03-03T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 2502, \"deaths\": 79, \"recovered\": 160, \"currently_ill\": 2263, \"confirmed_yesterday\": 2036, \"new_confirmed\": 466}, {\"time\": \"2020-03-04T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3089, \"deaths\": 107, \"recovered\": 276, \"currently_ill\": 2706, \"confirmed_yesterday\": 2502, \"new_confirmed\": 587}, {\"time\": \"2020-03-05T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 3858, \"deaths\": 148, \"recovered\": 414, \"currently_ill\": 3296, \"confirmed_yesterday\": 3089, \"new_confirmed\": 769}, {\"time\": \"2020-03-06T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 4636, \"deaths\": 197, \"recovered\": 523, \"currently_ill\": 3916, \"confirmed_yesterday\": 3858, \"new_confirmed\": 778}, {\"time\": \"2020-03-07T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 5883, \"deaths\": 233, \"recovered\": 589, \"currently_ill\": 5061, \"confirmed_yesterday\": 4636, \"new_confirmed\": 1247}, {\"time\": \"2020-03-08T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 7375, \"deaths\": 366, \"recovered\": 622, \"currently_ill\": 6387, \"confirmed_yesterday\": 5883, \"new_confirmed\": 1492}, {\"time\": \"2020-03-09T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 9172, \"deaths\": 463, \"recovered\": 724, \"currently_ill\": 7985, \"confirmed_yesterday\": 7375, \"new_confirmed\": 1797}, {\"time\": \"2020-03-10T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 10149, \"deaths\": 631, \"recovered\": 724, \"currently_ill\": 8794, \"confirmed_yesterday\": 9172, \"new_confirmed\": 977}, {\"time\": \"2020-03-11T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 12462, \"deaths\": 827, \"recovered\": 1045, \"currently_ill\": 10590, \"confirmed_yesterday\": 10149, \"new_confirmed\": 2313}, {\"time\": \"2020-03-12T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 12462, \"deaths\": 827, \"recovered\": 1045, \"currently_ill\": 10590, \"confirmed_yesterday\": 12462, \"new_confirmed\": 0}, {\"time\": \"2020-03-13T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 17660, \"deaths\": 1266, \"recovered\": 1439, \"currently_ill\": 14955, \"confirmed_yesterday\": 12462, \"new_confirmed\": 5198}, {\"time\": \"2020-03-14T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 21157, \"deaths\": 1441, \"recovered\": 1966, \"currently_ill\": 17750, \"confirmed_yesterday\": 17660, \"new_confirmed\": 3497}, {\"time\": \"2020-03-15T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 24747, \"deaths\": 1809, \"recovered\": 2335, \"currently_ill\": 20603, \"confirmed_yesterday\": 21157, \"new_confirmed\": 3590}, {\"time\": \"2020-03-16T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 27980, \"deaths\": 2158, \"recovered\": 2749, \"currently_ill\": 23073, \"confirmed_yesterday\": 24747, \"new_confirmed\": 3233}, {\"time\": \"2020-03-17T00:00:00\", \"Country/Region\": \"Italy\", \"confirmed\": 31506, \"deaths\": 2503, \"recovered\": 2941, \"currently_ill\": 26062, \"confirmed_yesterday\": 27980, \"new_confirmed\": 3526}]}}, {\"mode\": \"vega-lite\"});\n", | |
"</script>" | |
], | |
"text/plain": [ | |
"alt.Chart(...)" | |
] | |
}, | |
"execution_count": 122, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"alt.Chart(all_data[all_data['Country/Region'] == 'Italy']).mark_line().encode(\n", | |
" x='time:T',\n", | |
" y='new_confirmed',\n", | |
" color='Country/Region'\n", | |
")" | |
] | |
}, | |
{ | |
"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": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment