From 64830293b2062187f49e4109f07a1fd9b9fe0357 Mon Sep 17 00:00:00 2001 From: 1899a69eca748c9e8b02007d0e49196a <1899a69eca748c9e8b02007d0e49196a@app-learninglab.inria.fr> Date: Wed, 20 May 2020 09:28:01 +0000 Subject: [PATCH] WIP: Filtering out the data --- module3/exo3/exercice.ipynb | 2425 ++++++++++++++++++++++++++++++++++- 1 file changed, 2422 insertions(+), 3 deletions(-) diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index 0bbbe37..3e7f746 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -1,5 +1,2425 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The SARS-CoV-2 (Covid-19) epidemic\n", + "Getting the Data: (and NOT caching it as the data source is updated and so reevaluating this cell will give the latest results)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from matplotlib import pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "confirmed = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')\n", + "recovered = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv')\n", + "deaths = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Check that we did not misstype some urls:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", + "0 NaN Afghanistan 33.0000 65.0000 0 0 0 \n", + "1 NaN Albania 41.1533 20.1683 0 0 0 \n", + "2 NaN Algeria 28.0339 1.6596 0 0 0 \n", + "3 NaN Andorra 42.5063 1.5218 0 0 0 \n", + "4 NaN Angola -11.2027 17.8739 0 0 0 \n", + "\n", + " 1/25/20 1/26/20 1/27/20 ... 5/10/20 5/11/20 5/12/20 5/13/20 \\\n", + "0 0 0 0 ... 4402 4687 4963 5226 \n", + "1 0 0 0 ... 868 872 876 880 \n", + "2 0 0 0 ... 5723 5891 6067 6253 \n", + "3 0 0 0 ... 755 755 758 760 \n", + "4 0 0 0 ... 45 45 45 45 \n", + "\n", + " 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 \n", + "0 5639 6053 6402 6664 7072 7653 \n", + "1 898 916 933 946 948 949 \n", + "2 6442 6629 6821 7019 7201 7377 \n", + "3 761 761 761 761 761 761 \n", + "4 48 48 48 48 50 52 \n", + "\n", + "[5 rows x 123 columns]\n", + " Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", + "0 NaN Afghanistan 33.0000 65.0000 0 0 0 \n", + "1 NaN Albania 41.1533 20.1683 0 0 0 \n", + "2 NaN Algeria 28.0339 1.6596 0 0 0 \n", + "3 NaN Andorra 42.5063 1.5218 0 0 0 \n", + "4 NaN Angola -11.2027 17.8739 0 0 0 \n", + "\n", + " 1/25/20 1/26/20 1/27/20 ... 5/10/20 5/11/20 5/12/20 5/13/20 \\\n", + "0 0 0 0 ... 558 558 610 648 \n", + "1 0 0 0 ... 650 654 682 688 \n", + "2 0 0 0 ... 2678 2841 2998 3058 \n", + "3 0 0 0 ... 550 550 568 576 \n", + "4 0 0 0 ... 13 13 13 14 \n", + "\n", + " 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 \n", + "0 691 745 745 778 801 850 \n", + "1 694 705 714 715 727 742 \n", + "2 3158 3271 3409 3507 3625 3746 \n", + "3 596 604 615 617 624 628 \n", + "4 14 17 17 17 17 17 \n", + "\n", + "[5 rows x 123 columns]\n", + " Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", + "0 NaN Afghanistan 33.0000 65.0000 0 0 0 \n", + "1 NaN Albania 41.1533 20.1683 0 0 0 \n", + "2 NaN Algeria 28.0339 1.6596 0 0 0 \n", + "3 NaN Andorra 42.5063 1.5218 0 0 0 \n", + "4 NaN Angola -11.2027 17.8739 0 0 0 \n", + "\n", + " 1/25/20 1/26/20 1/27/20 ... 5/10/20 5/11/20 5/12/20 5/13/20 \\\n", + "0 0 0 0 ... 120 122 127 132 \n", + "1 0 0 0 ... 31 31 31 31 \n", + "2 0 0 0 ... 502 507 515 522 \n", + "3 0 0 0 ... 48 48 48 49 \n", + "4 0 0 0 ... 2 2 2 2 \n", + "\n", + " 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 \n", + "0 136 153 168 169 173 178 \n", + "1 31 31 31 31 31 31 \n", + "2 529 536 542 548 555 561 \n", + "3 49 49 51 51 51 51 \n", + "4 2 2 2 2 3 3 \n", + "\n", + "[5 rows x 123 columns]\n" + ] + } + ], + "source": [ + "for x in confirmed, recovered, deaths:\n", + " print(x.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks good so lets draw the \"graph showing the evolution of the cumulative number of cases over time for: Belgium, China (all provinces except Hong Kong), China, Hong-Kong, France except Dom/Tom, Germany, Iran, Italy, Japan, Korea South, Netherlands without the colonies, Portugal, Spain, United Kingdom without the colonies, US.\"\n", + "\n", + "Unfortunately we cannot take the data as is as there are some special cases:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/20...5/10/205/11/205/12/205/13/205/14/205/15/205/16/205/17/205/18/205/19/20
107French GuianaFrance3.9339-53.1258000000...144144144153164189197197210218
108French PolynesiaFrance-17.6797149.4068000000...60606060606060606060
109GuadeloupeFrance16.2500-61.5833000000...154154155155155155155155155155
110MayotteFrance-12.827545.1662000000...1023102310951143121012101312134213701370
111New CaledoniaFrance-20.9043165.6180000000...18181818181818181818
112ReunionFrance-21.135155.2471000000...436436437439440441443443446446
113Saint BarthelemyFrance17.9000-62.8333000000...6666666666
114St MartinFrance18.0708-63.0501000000...39393939393939393939
115MartiniqueFrance14.6415-61.0242000000...186187187189189192192192192192
116NaNFrance46.22762.2137002333...175027175479176207175981176712177319177207177240177554178428
258Saint Pierre and MiquelonFrance46.8852-56.3159000000...1111111111
\n", + "

11 rows × 123 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long 1/22/20 \\\n", + "107 French Guiana France 3.9339 -53.1258 0 \n", + "108 French Polynesia France -17.6797 149.4068 0 \n", + "109 Guadeloupe France 16.2500 -61.5833 0 \n", + "110 Mayotte France -12.8275 45.1662 0 \n", + "111 New Caledonia France -20.9043 165.6180 0 \n", + "112 Reunion France -21.1351 55.2471 0 \n", + "113 Saint Barthelemy France 17.9000 -62.8333 0 \n", + "114 St Martin France 18.0708 -63.0501 0 \n", + "115 Martinique France 14.6415 -61.0242 0 \n", + "116 NaN France 46.2276 2.2137 0 \n", + "258 Saint Pierre and Miquelon France 46.8852 -56.3159 0 \n", + "\n", + " 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 ... 5/10/20 5/11/20 \\\n", + "107 0 0 0 0 0 ... 144 144 \n", + "108 0 0 0 0 0 ... 60 60 \n", + "109 0 0 0 0 0 ... 154 154 \n", + "110 0 0 0 0 0 ... 1023 1023 \n", + "111 0 0 0 0 0 ... 18 18 \n", + "112 0 0 0 0 0 ... 436 436 \n", + "113 0 0 0 0 0 ... 6 6 \n", + "114 0 0 0 0 0 ... 39 39 \n", + "115 0 0 0 0 0 ... 186 187 \n", + "116 0 2 3 3 3 ... 175027 175479 \n", + "258 0 0 0 0 0 ... 1 1 \n", + "\n", + " 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 \n", + "107 144 153 164 189 197 197 210 218 \n", + "108 60 60 60 60 60 60 60 60 \n", + "109 155 155 155 155 155 155 155 155 \n", + "110 1095 1143 1210 1210 1312 1342 1370 1370 \n", + "111 18 18 18 18 18 18 18 18 \n", + "112 437 439 440 441 443 443 446 446 \n", + "113 6 6 6 6 6 6 6 6 \n", + "114 39 39 39 39 39 39 39 39 \n", + "115 187 189 189 192 192 192 192 192 \n", + "116 176207 175981 176712 177319 177207 177240 177554 178428 \n", + "258 1 1 1 1 1 1 1 1 \n", + "\n", + "[11 rows x 123 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "confirmed[confirmed[\"Country/Region\"] == \"France\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/20...5/10/205/11/205/12/205/13/205/14/205/15/205/16/205/17/205/18/205/19/20
49AnhuiChina31.8257117.22641915396070...991991991991991991991991991991
50BeijingChina40.1824116.4142142236416880...593593593593593593593593593593
51ChongqingChina30.0572107.874069275775110...579579579579579579579579579579
52FujianChina26.0789117.98741510183559...356356356356356356356356356356
53GansuChina37.8099101.05830224714...139139139139139139139139139139
54GuangdongChina23.3417113.424426325378111151...1589158915891589158915891590159015901590
55GuangxiChina23.8298108.78812523233646...254254254254254254254254254254
56GuizhouChina26.8154106.8748133457...147147147147147147147147147147
57HainanChina19.1959109.7453458192233...168168168168168169169169169169
58HebeiChina39.5490116.130611281318...328328328328328328328328328328
59HeilongjiangChina47.8620127.761502491521...945945945945945945945945945945
60HenanChina33.8820113.61405593283128...1276127612761276127612761276127612761276
61Hong KongChina22.3000114.2000022588...1047104710471050105110521052105510551055
62HubeiChina30.9756112.270744444454976110581423...68134681346813468134681346813468134681346813568135
63HunanChina27.6104111.708849244369100...1019101910191019101910191019101910191019
64Inner MongoliaChina44.0935113.94480017711...208209209209209209209213216216
65JiangsuChina32.9711119.4550159183347...653653653653653653653653653653
66JiangxiChina27.6140115.72212718183672...937937937937937937937937937937
67JilinChina43.6661126.1923013446...127127133134138140144146151151
68LiaoningChina41.2956122.6085234172127...147147147149149149149149149149
69MacauChina22.1667113.5500122256...45454545454545454545
70NingxiaChina37.2692106.1655112347...75757575757575757575
71QinghaiChina35.745295.9956000116...18181818181818181818
72ShaanxiChina35.1917108.8701035152235...308308308308308308308308308308
73ShandongChina36.3427118.14982615274675...788788788788788788788788788788
74ShanghaiChina31.2020121.449191620334053...659659660660660665665666666666
75ShanxiChina37.5777112.29221116913...198198198198198198198198198198
76SichuanChina30.6171102.71035815284469...561561561561561561561561561561
77TianjinChina39.3054117.3230448101423...191191191191191191192192192192
78TibetChina31.692788.0924000000...1111111111
79XinjiangChina41.112985.2401022345...76767676767676767676
80YunnanChina24.9740101.4870125111626...185185185185185185185185185185
81ZhejiangChina29.1832120.093410274362104128...1268126812681268126812681268126812681268
\n", + "

33 rows × 123 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n", + "49 Anhui China 31.8257 117.2264 1 9 \n", + "50 Beijing China 40.1824 116.4142 14 22 \n", + "51 Chongqing China 30.0572 107.8740 6 9 \n", + "52 Fujian China 26.0789 117.9874 1 5 \n", + "53 Gansu China 37.8099 101.0583 0 2 \n", + "54 Guangdong China 23.3417 113.4244 26 32 \n", + "55 Guangxi China 23.8298 108.7881 2 5 \n", + "56 Guizhou China 26.8154 106.8748 1 3 \n", + "57 Hainan China 19.1959 109.7453 4 5 \n", + "58 Hebei China 39.5490 116.1306 1 1 \n", + "59 Heilongjiang China 47.8620 127.7615 0 2 \n", + "60 Henan China 33.8820 113.6140 5 5 \n", + "61 Hong Kong China 22.3000 114.2000 0 2 \n", + "62 Hubei China 30.9756 112.2707 444 444 \n", + "63 Hunan China 27.6104 111.7088 4 9 \n", + "64 Inner Mongolia China 44.0935 113.9448 0 0 \n", + "65 Jiangsu China 32.9711 119.4550 1 5 \n", + "66 Jiangxi China 27.6140 115.7221 2 7 \n", + "67 Jilin China 43.6661 126.1923 0 1 \n", + "68 Liaoning China 41.2956 122.6085 2 3 \n", + "69 Macau China 22.1667 113.5500 1 2 \n", + "70 Ningxia China 37.2692 106.1655 1 1 \n", + "71 Qinghai China 35.7452 95.9956 0 0 \n", + "72 Shaanxi China 35.1917 108.8701 0 3 \n", + "73 Shandong China 36.3427 118.1498 2 6 \n", + "74 Shanghai China 31.2020 121.4491 9 16 \n", + "75 Shanxi China 37.5777 112.2922 1 1 \n", + "76 Sichuan China 30.6171 102.7103 5 8 \n", + "77 Tianjin China 39.3054 117.3230 4 4 \n", + "78 Tibet China 31.6927 88.0924 0 0 \n", + "79 Xinjiang China 41.1129 85.2401 0 2 \n", + "80 Yunnan China 24.9740 101.4870 1 2 \n", + "81 Zhejiang China 29.1832 120.0934 10 27 \n", + "\n", + " 1/24/20 1/25/20 1/26/20 1/27/20 ... 5/10/20 5/11/20 5/12/20 \\\n", + "49 15 39 60 70 ... 991 991 991 \n", + "50 36 41 68 80 ... 593 593 593 \n", + "51 27 57 75 110 ... 579 579 579 \n", + "52 10 18 35 59 ... 356 356 356 \n", + "53 2 4 7 14 ... 139 139 139 \n", + "54 53 78 111 151 ... 1589 1589 1589 \n", + "55 23 23 36 46 ... 254 254 254 \n", + "56 3 4 5 7 ... 147 147 147 \n", + "57 8 19 22 33 ... 168 168 168 \n", + "58 2 8 13 18 ... 328 328 328 \n", + "59 4 9 15 21 ... 945 945 945 \n", + "60 9 32 83 128 ... 1276 1276 1276 \n", + "61 2 5 8 8 ... 1047 1047 1047 \n", + "62 549 761 1058 1423 ... 68134 68134 68134 \n", + "63 24 43 69 100 ... 1019 1019 1019 \n", + "64 1 7 7 11 ... 208 209 209 \n", + "65 9 18 33 47 ... 653 653 653 \n", + "66 18 18 36 72 ... 937 937 937 \n", + "67 3 4 4 6 ... 127 127 133 \n", + "68 4 17 21 27 ... 147 147 147 \n", + "69 2 2 5 6 ... 45 45 45 \n", + "70 2 3 4 7 ... 75 75 75 \n", + "71 0 1 1 6 ... 18 18 18 \n", + "72 5 15 22 35 ... 308 308 308 \n", + "73 15 27 46 75 ... 788 788 788 \n", + "74 20 33 40 53 ... 659 659 660 \n", + "75 1 6 9 13 ... 198 198 198 \n", + "76 15 28 44 69 ... 561 561 561 \n", + "77 8 10 14 23 ... 191 191 191 \n", + "78 0 0 0 0 ... 1 1 1 \n", + "79 2 3 4 5 ... 76 76 76 \n", + "80 5 11 16 26 ... 185 185 185 \n", + "81 43 62 104 128 ... 1268 1268 1268 \n", + "\n", + " 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 \n", + "49 991 991 991 991 991 991 991 \n", + "50 593 593 593 593 593 593 593 \n", + "51 579 579 579 579 579 579 579 \n", + "52 356 356 356 356 356 356 356 \n", + "53 139 139 139 139 139 139 139 \n", + "54 1589 1589 1589 1590 1590 1590 1590 \n", + "55 254 254 254 254 254 254 254 \n", + "56 147 147 147 147 147 147 147 \n", + "57 168 168 169 169 169 169 169 \n", + "58 328 328 328 328 328 328 328 \n", + "59 945 945 945 945 945 945 945 \n", + "60 1276 1276 1276 1276 1276 1276 1276 \n", + "61 1050 1051 1052 1052 1055 1055 1055 \n", + "62 68134 68134 68134 68134 68134 68135 68135 \n", + "63 1019 1019 1019 1019 1019 1019 1019 \n", + "64 209 209 209 209 213 216 216 \n", + "65 653 653 653 653 653 653 653 \n", + "66 937 937 937 937 937 937 937 \n", + "67 134 138 140 144 146 151 151 \n", + "68 149 149 149 149 149 149 149 \n", + "69 45 45 45 45 45 45 45 \n", + "70 75 75 75 75 75 75 75 \n", + "71 18 18 18 18 18 18 18 \n", + "72 308 308 308 308 308 308 308 \n", + "73 788 788 788 788 788 788 788 \n", + "74 660 660 665 665 666 666 666 \n", + "75 198 198 198 198 198 198 198 \n", + "76 561 561 561 561 561 561 561 \n", + "77 191 191 191 192 192 192 192 \n", + "78 1 1 1 1 1 1 1 \n", + "79 76 76 76 76 76 76 76 \n", + "80 185 185 185 185 185 185 185 \n", + "81 1268 1268 1268 1268 1268 1268 1268 \n", + "\n", + "[33 rows x 123 columns]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "confirmed[confirmed[\"Country/Region\"] == \"China\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "d = confirmed[confirmed[\"Country/Region\"] == \"China\"]\n", + "d.\n", + "#d.groupby(['Date','Keyword'],as_index=False).agg({'Views': 'sum'})" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/20...5/10/205/11/205/12/205/13/205/14/205/15/205/16/205/17/205/18/205/19/20
166ArubaNetherlands12.5186-70.0358000000...101101101101101101101101101101
167CuracaoNetherlands12.1696-68.9900000000...16161616161616161616
168Sint MaartenNetherlands18.0425-63.0548000000...76767676767677777777
169NaNNetherlands52.13265.2913000000...42627427884298443211434814368143870439954414144249
255Bonaire, Sint Eustatius and SabaNetherlands12.1784-68.2385000000...6666666666
\n", + "

5 rows × 123 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long \\\n", + "166 Aruba Netherlands 12.5186 -70.0358 \n", + "167 Curacao Netherlands 12.1696 -68.9900 \n", + "168 Sint Maarten Netherlands 18.0425 -63.0548 \n", + "169 NaN Netherlands 52.1326 5.2913 \n", + "255 Bonaire, Sint Eustatius and Saba Netherlands 12.1784 -68.2385 \n", + "\n", + " 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 ... 5/10/20 \\\n", + "166 0 0 0 0 0 0 ... 101 \n", + "167 0 0 0 0 0 0 ... 16 \n", + "168 0 0 0 0 0 0 ... 76 \n", + "169 0 0 0 0 0 0 ... 42627 \n", + "255 0 0 0 0 0 0 ... 6 \n", + "\n", + " 5/11/20 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 \\\n", + "166 101 101 101 101 101 101 101 101 \n", + "167 16 16 16 16 16 16 16 16 \n", + "168 76 76 76 76 76 77 77 77 \n", + "169 42788 42984 43211 43481 43681 43870 43995 44141 \n", + "255 6 6 6 6 6 6 6 6 \n", + "\n", + " 5/19/20 \n", + "166 101 \n", + "167 16 \n", + "168 77 \n", + "169 44249 \n", + "255 6 \n", + "\n", + "[5 rows x 123 columns]" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "confirmed[confirmed[\"Country/Region\"] == \"Netherlands\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Filtering like this leaves the question unanswered if line 116 contains the cases only for France except Dom/Tom or not.\n", + "As for other countries there is no extra line for the country itself we assume for now The France line is France except Dom/Tom but we will check it later again." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:12: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", + " if sys.path[0] == '':\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Belgium': 23\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 0\n", + "1/28/20 0\n", + "1/29/20 0\n", + "1/30/20 0\n", + "1/31/20 0\n", + "2/1/20 0\n", + "2/2/20 0\n", + "2/3/20 0\n", + "2/4/20 1\n", + "2/5/20 1\n", + "2/6/20 1\n", + "2/7/20 1\n", + "2/8/20 1\n", + "2/9/20 1\n", + "2/10/20 1\n", + "2/11/20 1\n", + "2/12/20 1\n", + "2/13/20 1\n", + "2/14/20 1\n", + "2/15/20 1\n", + "2/16/20 1\n", + "2/17/20 1\n", + "2/18/20 1\n", + "2/19/20 1\n", + "2/20/20 1\n", + "... ...\n", + "4/20/20 39983\n", + "4/21/20 40956\n", + "4/22/20 41889\n", + "4/23/20 42797\n", + "4/24/20 44293\n", + "4/25/20 45325\n", + "4/26/20 46134\n", + "4/27/20 46687\n", + "4/28/20 47334\n", + "4/29/20 47859\n", + "4/30/20 48519\n", + "5/1/20 49032\n", + "5/2/20 49517\n", + "5/3/20 49906\n", + "5/4/20 50267\n", + "5/5/20 50509\n", + "5/6/20 50781\n", + "5/7/20 51420\n", + "5/8/20 52011\n", + "5/9/20 52596\n", + "5/10/20 53081\n", + "5/11/20 53449\n", + "5/12/20 53779\n", + "5/13/20 53981\n", + "5/14/20 54288\n", + "5/15/20 54644\n", + "5/16/20 54989\n", + "5/17/20 55280\n", + "5/18/20 55559\n", + "5/19/20 55791\n", + "\n", + "[119 rows x 1 columns], 'France except Dom/Tom': 116\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 2\n", + "1/25/20 3\n", + "1/26/20 3\n", + "1/27/20 3\n", + "1/28/20 4\n", + "1/29/20 5\n", + "1/30/20 5\n", + "1/31/20 5\n", + "2/1/20 6\n", + "2/2/20 6\n", + "2/3/20 6\n", + "2/4/20 6\n", + "2/5/20 6\n", + "2/6/20 6\n", + "2/7/20 6\n", + "2/8/20 11\n", + "2/9/20 11\n", + "2/10/20 11\n", + "2/11/20 11\n", + "2/12/20 11\n", + "2/13/20 11\n", + "2/14/20 11\n", + "2/15/20 12\n", + "2/16/20 12\n", + "2/17/20 12\n", + "2/18/20 12\n", + "2/19/20 12\n", + "2/20/20 12\n", + "... ...\n", + "4/20/20 154188\n", + "4/21/20 156921\n", + "4/22/20 154715\n", + "4/23/20 157026\n", + "4/24/20 158636\n", + "4/25/20 160292\n", + "4/26/20 160847\n", + "4/27/20 164589\n", + "4/28/20 167605\n", + "4/29/20 165093\n", + "4/30/20 165764\n", + "5/1/20 165764\n", + "5/2/20 166976\n", + "5/3/20 167272\n", + "5/4/20 167886\n", + "5/5/20 168935\n", + "5/6/20 172465\n", + "5/7/20 173040\n", + "5/8/20 174318\n", + "5/9/20 174758\n", + "5/10/20 175027\n", + "5/11/20 175479\n", + "5/12/20 176207\n", + "5/13/20 175981\n", + "5/14/20 176712\n", + "5/15/20 177319\n", + "5/16/20 177207\n", + "5/17/20 177240\n", + "5/18/20 177554\n", + "5/19/20 178428\n", + "\n", + "[119 rows x 1 columns], 'Germany': 120\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 1\n", + "1/28/20 4\n", + "1/29/20 4\n", + "1/30/20 4\n", + "1/31/20 5\n", + "2/1/20 8\n", + "2/2/20 10\n", + "2/3/20 12\n", + "2/4/20 12\n", + "2/5/20 12\n", + "2/6/20 12\n", + "2/7/20 13\n", + "2/8/20 13\n", + "2/9/20 14\n", + "2/10/20 14\n", + "2/11/20 16\n", + "2/12/20 16\n", + "2/13/20 16\n", + "2/14/20 16\n", + "2/15/20 16\n", + "2/16/20 16\n", + "2/17/20 16\n", + "2/18/20 16\n", + "2/19/20 16\n", + "2/20/20 16\n", + "... ...\n", + "4/20/20 147065\n", + "4/21/20 148291\n", + "4/22/20 150648\n", + "4/23/20 153129\n", + "4/24/20 154999\n", + "4/25/20 156513\n", + "4/26/20 157770\n", + "4/27/20 158758\n", + "4/28/20 159912\n", + "4/29/20 161539\n", + "4/30/20 163009\n", + "5/1/20 164077\n", + "5/2/20 164967\n", + "5/3/20 165664\n", + "5/4/20 166152\n", + "5/5/20 167007\n", + "5/6/20 168162\n", + "5/7/20 169430\n", + "5/8/20 170588\n", + "5/9/20 171324\n", + "5/10/20 171879\n", + "5/11/20 172576\n", + "5/12/20 173171\n", + "5/13/20 174098\n", + "5/14/20 174478\n", + "5/15/20 175233\n", + "5/16/20 175752\n", + "5/17/20 176369\n", + "5/18/20 176551\n", + "5/19/20 177778\n", + "\n", + "[119 rows x 1 columns], 'Iran': 133\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 0\n", + "1/28/20 0\n", + "1/29/20 0\n", + "1/30/20 0\n", + "1/31/20 0\n", + "2/1/20 0\n", + "2/2/20 0\n", + "2/3/20 0\n", + "2/4/20 0\n", + "2/5/20 0\n", + "2/6/20 0\n", + "2/7/20 0\n", + "2/8/20 0\n", + "2/9/20 0\n", + "2/10/20 0\n", + "2/11/20 0\n", + "2/12/20 0\n", + "2/13/20 0\n", + "2/14/20 0\n", + "2/15/20 0\n", + "2/16/20 0\n", + "2/17/20 0\n", + "2/18/20 0\n", + "2/19/20 2\n", + "2/20/20 5\n", + "... ...\n", + "4/20/20 83505\n", + "4/21/20 84802\n", + "4/22/20 85996\n", + "4/23/20 87026\n", + "4/24/20 88194\n", + "4/25/20 89328\n", + "4/26/20 90481\n", + "4/27/20 91472\n", + "4/28/20 92584\n", + "4/29/20 93657\n", + "4/30/20 94640\n", + "5/1/20 95646\n", + "5/2/20 96448\n", + "5/3/20 97424\n", + "5/4/20 98647\n", + "5/5/20 99970\n", + "5/6/20 101650\n", + "5/7/20 103135\n", + "5/8/20 104691\n", + "5/9/20 106220\n", + "5/10/20 107603\n", + "5/11/20 109286\n", + "5/12/20 110767\n", + "5/13/20 112725\n", + "5/14/20 114533\n", + "5/15/20 116635\n", + "5/16/20 118392\n", + "5/17/20 120198\n", + "5/18/20 122492\n", + "5/19/20 124603\n", + "\n", + "[119 rows x 1 columns], 'Italy': 137\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 0\n", + "1/28/20 0\n", + "1/29/20 0\n", + "1/30/20 0\n", + "1/31/20 2\n", + "2/1/20 2\n", + "2/2/20 2\n", + "2/3/20 2\n", + "2/4/20 2\n", + "2/5/20 2\n", + "2/6/20 2\n", + "2/7/20 3\n", + "2/8/20 3\n", + "2/9/20 3\n", + "2/10/20 3\n", + "2/11/20 3\n", + "2/12/20 3\n", + "2/13/20 3\n", + "2/14/20 3\n", + "2/15/20 3\n", + "2/16/20 3\n", + "2/17/20 3\n", + "2/18/20 3\n", + "2/19/20 3\n", + "2/20/20 3\n", + "... ...\n", + "4/20/20 181228\n", + "4/21/20 183957\n", + "4/22/20 187327\n", + "4/23/20 189973\n", + "4/24/20 192994\n", + "4/25/20 195351\n", + "4/26/20 197675\n", + "4/27/20 199414\n", + "4/28/20 201505\n", + "4/29/20 203591\n", + "4/30/20 205463\n", + "5/1/20 207428\n", + "5/2/20 209328\n", + "5/3/20 210717\n", + "5/4/20 211938\n", + "5/5/20 213013\n", + "5/6/20 214457\n", + "5/7/20 215858\n", + "5/8/20 217185\n", + "5/9/20 218268\n", + "5/10/20 219070\n", + "5/11/20 219814\n", + "5/12/20 221216\n", + "5/13/20 222104\n", + "5/14/20 223096\n", + "5/15/20 223885\n", + "5/16/20 224760\n", + "5/17/20 225435\n", + "5/18/20 225886\n", + "5/19/20 226699\n", + "\n", + "[119 rows x 1 columns], 'Japan': 139\n", + "1/22/20 2\n", + "1/23/20 2\n", + "1/24/20 2\n", + "1/25/20 2\n", + "1/26/20 4\n", + "1/27/20 4\n", + "1/28/20 7\n", + "1/29/20 7\n", + "1/30/20 11\n", + "1/31/20 15\n", + "2/1/20 20\n", + "2/2/20 20\n", + "2/3/20 20\n", + "2/4/20 22\n", + "2/5/20 22\n", + "2/6/20 22\n", + "2/7/20 25\n", + "2/8/20 25\n", + "2/9/20 26\n", + "2/10/20 26\n", + "2/11/20 26\n", + "2/12/20 28\n", + "2/13/20 28\n", + "2/14/20 29\n", + "2/15/20 43\n", + "2/16/20 59\n", + "2/17/20 66\n", + "2/18/20 74\n", + "2/19/20 84\n", + "2/20/20 94\n", + "... ...\n", + "4/20/20 10797\n", + "4/21/20 11135\n", + "4/22/20 11512\n", + "4/23/20 12368\n", + "4/24/20 12829\n", + "4/25/20 13231\n", + "4/26/20 13441\n", + "4/27/20 14153\n", + "4/28/20 13736\n", + "4/29/20 13895\n", + "4/30/20 14088\n", + "5/1/20 14305\n", + "5/2/20 14571\n", + "5/3/20 14877\n", + "5/4/20 15078\n", + "5/5/20 15253\n", + "5/6/20 15253\n", + "5/7/20 15477\n", + "5/8/20 15575\n", + "5/9/20 15663\n", + "5/10/20 15777\n", + "5/11/20 15847\n", + "5/12/20 15968\n", + "5/13/20 16049\n", + "5/14/20 16120\n", + "5/15/20 16203\n", + "5/16/20 16237\n", + "5/17/20 16285\n", + "5/18/20 16305\n", + "5/19/20 16367\n", + "\n", + "[119 rows x 1 columns], 'Netherlands without the colonies': 169\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 0\n", + "1/28/20 0\n", + "1/29/20 0\n", + "1/30/20 0\n", + "1/31/20 0\n", + "2/1/20 0\n", + "2/2/20 0\n", + "2/3/20 0\n", + "2/4/20 0\n", + "2/5/20 0\n", + "2/6/20 0\n", + "2/7/20 0\n", + "2/8/20 0\n", + "2/9/20 0\n", + "2/10/20 0\n", + "2/11/20 0\n", + "2/12/20 0\n", + "2/13/20 0\n", + "2/14/20 0\n", + "2/15/20 0\n", + "2/16/20 0\n", + "2/17/20 0\n", + "2/18/20 0\n", + "2/19/20 0\n", + "2/20/20 0\n", + "... ...\n", + "4/20/20 33405\n", + "4/21/20 34134\n", + "4/22/20 34842\n", + "4/23/20 35729\n", + "4/24/20 36535\n", + "4/25/20 37190\n", + "4/26/20 37845\n", + "4/27/20 38245\n", + "4/28/20 38416\n", + "4/29/20 38802\n", + "4/30/20 39316\n", + "5/1/20 39791\n", + "5/2/20 40236\n", + "5/3/20 40571\n", + "5/4/20 40770\n", + "5/5/20 41087\n", + "5/6/20 41319\n", + "5/7/20 41774\n", + "5/8/20 42093\n", + "5/9/20 42382\n", + "5/10/20 42627\n", + "5/11/20 42788\n", + "5/12/20 42984\n", + "5/13/20 43211\n", + "5/14/20 43481\n", + "5/15/20 43681\n", + "5/16/20 43870\n", + "5/17/20 43995\n", + "5/18/20 44141\n", + "5/19/20 44249\n", + "\n", + "[119 rows x 1 columns], 'Portugal': 184\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 0\n", + "1/28/20 0\n", + "1/29/20 0\n", + "1/30/20 0\n", + "1/31/20 0\n", + "2/1/20 0\n", + "2/2/20 0\n", + "2/3/20 0\n", + "2/4/20 0\n", + "2/5/20 0\n", + "2/6/20 0\n", + "2/7/20 0\n", + "2/8/20 0\n", + "2/9/20 0\n", + "2/10/20 0\n", + "2/11/20 0\n", + "2/12/20 0\n", + "2/13/20 0\n", + "2/14/20 0\n", + "2/15/20 0\n", + "2/16/20 0\n", + "2/17/20 0\n", + "2/18/20 0\n", + "2/19/20 0\n", + "2/20/20 0\n", + "... ...\n", + "4/20/20 20863\n", + "4/21/20 21379\n", + "4/22/20 21982\n", + "4/23/20 22353\n", + "4/24/20 22797\n", + "4/25/20 23392\n", + "4/26/20 23864\n", + "4/27/20 24027\n", + "4/28/20 24322\n", + "4/29/20 24505\n", + "4/30/20 25045\n", + "5/1/20 25351\n", + "5/2/20 25190\n", + "5/3/20 25282\n", + "5/4/20 25524\n", + "5/5/20 25702\n", + "5/6/20 26182\n", + "5/7/20 26715\n", + "5/8/20 27268\n", + "5/9/20 27406\n", + "5/10/20 27581\n", + "5/11/20 27679\n", + "5/12/20 27913\n", + "5/13/20 28132\n", + "5/14/20 28319\n", + "5/15/20 28583\n", + "5/16/20 28810\n", + "5/17/20 29036\n", + "5/18/20 29209\n", + "5/19/20 29432\n", + "\n", + "[119 rows x 1 columns], 'Spain': 201\n", + "1/22/20 0\n", + "1/23/20 0\n", + "1/24/20 0\n", + "1/25/20 0\n", + "1/26/20 0\n", + "1/27/20 0\n", + "1/28/20 0\n", + "1/29/20 0\n", + "1/30/20 0\n", + "1/31/20 0\n", + "2/1/20 1\n", + "2/2/20 1\n", + "2/3/20 1\n", + "2/4/20 1\n", + "2/5/20 1\n", + "2/6/20 1\n", + "2/7/20 1\n", + "2/8/20 1\n", + "2/9/20 2\n", + "2/10/20 2\n", + "2/11/20 2\n", + "2/12/20 2\n", + "2/13/20 2\n", + "2/14/20 2\n", + "2/15/20 2\n", + "2/16/20 2\n", + "2/17/20 2\n", + "2/18/20 2\n", + "2/19/20 2\n", + "2/20/20 2\n", + "... ...\n", + "4/20/20 200210\n", + "4/21/20 204178\n", + "4/22/20 208389\n", + "4/23/20 213024\n", + "4/24/20 202990\n", + "4/25/20 205905\n", + "4/26/20 207634\n", + "4/27/20 209465\n", + "4/28/20 210773\n", + "4/29/20 212917\n", + "4/30/20 213435\n", + "5/1/20 215216\n", + "5/2/20 216582\n", + "5/3/20 217466\n", + "5/4/20 218011\n", + "5/5/20 219329\n", + "5/6/20 220325\n", + "5/7/20 221447\n", + "5/8/20 222857\n", + "5/9/20 223578\n", + "5/10/20 224350\n", + "5/11/20 227436\n", + "5/12/20 228030\n", + "5/13/20 228691\n", + "5/14/20 229540\n", + "5/15/20 230183\n", + "5/16/20 230698\n", + "5/17/20 230698\n", + "5/18/20 231606\n", + "5/19/20 232037\n", + "\n", + "[119 rows x 1 columns], 'US': 225\n", + "1/22/20 1\n", + "1/23/20 1\n", + "1/24/20 2\n", + "1/25/20 2\n", + "1/26/20 5\n", + "1/27/20 5\n", + "1/28/20 5\n", + "1/29/20 5\n", + "1/30/20 5\n", + "1/31/20 7\n", + "2/1/20 8\n", + "2/2/20 8\n", + "2/3/20 11\n", + "2/4/20 11\n", + "2/5/20 11\n", + "2/6/20 11\n", + "2/7/20 11\n", + "2/8/20 11\n", + "2/9/20 11\n", + "2/10/20 11\n", + "2/11/20 12\n", + "2/12/20 12\n", + "2/13/20 13\n", + "2/14/20 13\n", + "2/15/20 13\n", + "2/16/20 13\n", + "2/17/20 13\n", + "2/18/20 13\n", + "2/19/20 13\n", + "2/20/20 13\n", + "... ...\n", + "4/20/20 784326\n", + "4/21/20 811865\n", + "4/22/20 840351\n", + "4/23/20 869170\n", + "4/24/20 905358\n", + "4/25/20 938154\n", + "4/26/20 965785\n", + "4/27/20 988197\n", + "4/28/20 1012582\n", + "4/29/20 1039909\n", + "4/30/20 1069424\n", + "5/1/20 1103461\n", + "5/2/20 1132539\n", + "5/3/20 1158040\n", + "5/4/20 1180375\n", + "5/5/20 1204351\n", + "5/6/20 1229331\n", + "5/7/20 1257023\n", + "5/8/20 1283929\n", + "5/9/20 1309550\n", + "5/10/20 1329260\n", + "5/11/20 1347881\n", + "5/12/20 1369376\n", + "5/13/20 1390406\n", + "5/14/20 1417774\n", + "5/15/20 1442824\n", + "5/16/20 1467820\n", + "5/17/20 1486757\n", + "5/18/20 1508308\n", + "5/19/20 1528568\n", + "\n", + "[119 rows x 1 columns]}\n" + ] + }, + { + "ename": "AssertionError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mto_plot\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 17\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mto_plot\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mregions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mAssertionError\u001b[0m: " + ] + } + ], + "source": [ + "regions = ['Belgium', 'China (all provinces except Hong Kong)', 'China', 'Hong-Kong', 'France except Dom/Tom', 'Germany', 'Iran', 'Italy', 'Japan', 'Korea South', 'Netherlands without the colonies', 'Portugal', 'Spain', 'United Kingdom without the colonies', 'US']\n", + "to_plot = {}\n", + "for region in regions:\n", + " region_name = region\n", + " # Special cases:\n", + " if \"France\" in region:\n", + " region_name = \"France\" \n", + " if \"Netherlands\" in region:\n", + " region_name = \"Netherlands\" \n", + " if \"Unied Kingdom\" in region:\n", + " region_name = \"United Kingdom\"\n", + " d = confirmed[confirmed[\"Country/Region\"] == region_name][confirmed['Province/State'].isnull()]\n", + " if len(d) == 1:\n", + " to_plot[region] = d.T[4:]\n", + " \n", + " # more special cases: China\n", + " if region == \"China\":\n", + " d = confirmed[confirmed[\"Country/Region\"] == region_name]\n", + " \n", + " \n", + " \n", + "print(to_plot) \n", + "assert len(to_plot) == len(regions)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'France'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mto_plot\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"France\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m: 'France'" + ] + } + ], + "source": [ + "to_plot[\"France\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +2436,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } - -- 2.18.1