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