{ "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", "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }