diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index e6b3ee255eba012b30fc30f4891e759a8b11839d..eb06461fc9c562952b5d5dd540da20c292cba3b0 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -38,36 +38,38 @@ "\n", "* Graphique exemple de [South Chine Morning Post](https://www.scmp.com/coronavirus?src=homepage_covid_widget). Datant du 20 Mai 2020.\n", "* Données brutes utilisées dans ce document : [time_series_covid19_confirmed_global.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", - "\n" + "\n", + "\n", + "On procède à un test afin de savoir si les données sont disponibles en local ou si l'ont doit utiliser l'URL." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", - "import isoweek\n", + "#import isoweek not needed here\n", "\n", "data_url = \"https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv\"" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ - "# Local data TODO\n", + "# Local data \n", "localData = \"time_series_covid19_confirmed_global.csv\"" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -98,33 +100,57 @@ " \n", " \n", " \n", - " Unnamed: 0\n", - " Afghanistan\n", - " 33.0\n", - " 65.0\n", - " 0\n", - " 0.1\n", - " 0.2\n", - " 0.3\n", - " 0.4\n", - " 0.5\n", + " Province/State\n", + " Country/Region\n", + " Lat\n", + " Long\n", + " 1/22/20\n", + " 1/23/20\n", + " 1/24/20\n", + " 1/25/20\n", + " 1/26/20\n", + " 1/27/20\n", " ...\n", - " 7653\n", - " 8145\n", - " 8676\n", - " 9216\n", - " 9998\n", - " 10582\n", - " 11173\n", - " 11831\n", - " 12456\n", - " 13036\n", + " 5/19/20\n", + " 5/20/20\n", + " 5/21/20\n", + " 5/22/20\n", + " 5/23/20\n", + " 5/24/20\n", + " 5/25/20\n", + " 5/26/20\n", + " 5/27/20\n", + " 5/28/20\n", " \n", " \n", " \n", " \n", " 0\n", " NaN\n", + " Afghanistan\n", + " 33.000000\n", + " 65.000000\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " ...\n", + " 7653\n", + " 8145\n", + " 8676\n", + " 9216\n", + " 9998\n", + " 10582\n", + " 11173\n", + " 11831\n", + " 12456\n", + " 13036\n", + " \n", + " \n", + " 1\n", + " NaN\n", " Albania\n", " 41.153300\n", " 20.168300\n", @@ -147,7 +173,7 @@ " 1076\n", " \n", " \n", - " 1\n", + " 2\n", " NaN\n", " Algeria\n", " 28.033900\n", @@ -171,7 +197,7 @@ " 8997\n", " \n", " \n", - " 2\n", + " 3\n", " NaN\n", " Andorra\n", " 42.506300\n", @@ -195,7 +221,7 @@ " 763\n", " \n", " \n", - " 3\n", + " 4\n", " NaN\n", " Angola\n", " -11.202700\n", @@ -219,7 +245,7 @@ " 74\n", " \n", " \n", - " 4\n", + " 5\n", " NaN\n", " Antigua and Barbuda\n", " 17.060800\n", @@ -243,7 +269,7 @@ " 25\n", " \n", " \n", - " 5\n", + " 6\n", " NaN\n", " Argentina\n", " -38.416100\n", @@ -267,7 +293,7 @@ " 14702\n", " \n", " \n", - " 6\n", + " 7\n", " NaN\n", " Armenia\n", " 40.069100\n", @@ -291,7 +317,7 @@ " 8216\n", " \n", " \n", - " 7\n", + " 8\n", " Australian Capital Territory\n", " Australia\n", " -35.473500\n", @@ -315,7 +341,7 @@ " 107\n", " \n", " \n", - " 8\n", + " 9\n", " New South Wales\n", " Australia\n", " -33.868800\n", @@ -339,7 +365,7 @@ " 3092\n", " \n", " \n", - " 9\n", + " 10\n", " Northern Territory\n", " Australia\n", " -12.463400\n", @@ -363,7 +389,7 @@ " 29\n", " \n", " \n", - " 10\n", + " 11\n", " Queensland\n", " Australia\n", " -28.016700\n", @@ -387,7 +413,7 @@ " 1058\n", " \n", " \n", - " 11\n", + " 12\n", " South Australia\n", " Australia\n", " -34.928500\n", @@ -411,7 +437,7 @@ " 440\n", " \n", " \n", - " 12\n", + " 13\n", " Tasmania\n", " Australia\n", " -41.454500\n", @@ -435,7 +461,7 @@ " 228\n", " \n", " \n", - " 13\n", + " 14\n", " Victoria\n", " Australia\n", " -37.813600\n", @@ -459,7 +485,7 @@ " 1634\n", " \n", " \n", - " 14\n", + " 15\n", " Western Australia\n", " Australia\n", " -31.950500\n", @@ -483,7 +509,7 @@ " 577\n", " \n", " \n", - " 15\n", + " 16\n", " NaN\n", " Austria\n", " 47.516200\n", @@ -507,7 +533,7 @@ " 16628\n", " \n", " \n", - " 16\n", + " 17\n", " NaN\n", " Azerbaijan\n", " 40.143100\n", @@ -531,7 +557,7 @@ " 4759\n", " \n", " \n", - " 17\n", + " 18\n", " NaN\n", " Bahamas\n", " 25.034300\n", @@ -555,7 +581,7 @@ " 101\n", " \n", " \n", - " 18\n", + " 19\n", " NaN\n", " Bahrain\n", " 26.027500\n", @@ -579,7 +605,7 @@ " 10052\n", " \n", " \n", - " 19\n", + " 20\n", " NaN\n", " Bangladesh\n", " 23.685000\n", @@ -603,7 +629,7 @@ " 40321\n", " \n", " \n", - " 20\n", + " 21\n", " NaN\n", " Barbados\n", " 13.193900\n", @@ -627,7 +653,7 @@ " 92\n", " \n", " \n", - " 21\n", + " 22\n", " NaN\n", " Belarus\n", " 53.709800\n", @@ -651,7 +677,7 @@ " 39858\n", " \n", " \n", - " 22\n", + " 23\n", " NaN\n", " Belgium\n", " 50.833300\n", @@ -675,7 +701,7 @@ " 57849\n", " \n", " \n", - " 23\n", + " 24\n", " NaN\n", " Benin\n", " 9.307700\n", @@ -699,7 +725,7 @@ " 210\n", " \n", " \n", - " 24\n", + " 25\n", " NaN\n", " Bhutan\n", " 27.514200\n", @@ -723,7 +749,7 @@ " 31\n", " \n", " \n", - " 25\n", + " 26\n", " NaN\n", " Bolivia\n", " -16.290200\n", @@ -747,7 +773,7 @@ " 8387\n", " \n", " \n", - " 26\n", + " 27\n", " NaN\n", " Bosnia and Herzegovina\n", " 43.915900\n", @@ -771,7 +797,7 @@ " 2462\n", " \n", " \n", - " 27\n", + " 28\n", " NaN\n", " Brazil\n", " -14.235000\n", @@ -795,7 +821,7 @@ " 438238\n", " \n", " \n", - " 28\n", + " 29\n", " NaN\n", " Brunei\n", " 4.535300\n", @@ -819,30 +845,6 @@ " 141\n", " \n", " \n", - " 29\n", - " NaN\n", - " Bulgaria\n", - " 42.733900\n", - " 25.485800\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " 2259\n", - " 2292\n", - " 2331\n", - " 2372\n", - " 2408\n", - " 2427\n", - " 2433\n", - " 2443\n", - " 2460\n", - " 2477\n", - " \n", - " \n", " ...\n", " ...\n", " ...\n", @@ -867,7 +869,7 @@ " ...\n", " \n", " \n", - " 235\n", + " 236\n", " NaN\n", " Timor-Leste\n", " -8.874217\n", @@ -891,7 +893,7 @@ " 24\n", " \n", " \n", - " 236\n", + " 237\n", " NaN\n", " Belize\n", " 13.193900\n", @@ -915,7 +917,7 @@ " 18\n", " \n", " \n", - " 237\n", + " 238\n", " NaN\n", " Laos\n", " 19.856270\n", @@ -939,7 +941,7 @@ " 19\n", " \n", " \n", - " 238\n", + " 239\n", " NaN\n", " Libya\n", " 26.335100\n", @@ -963,7 +965,7 @@ " 105\n", " \n", " \n", - " 239\n", + " 240\n", " NaN\n", " West Bank and Gaza\n", " 31.952200\n", @@ -987,7 +989,7 @@ " 446\n", " \n", " \n", - " 240\n", + " 241\n", " NaN\n", " Guinea-Bissau\n", " 11.803700\n", @@ -1011,7 +1013,7 @@ " 1195\n", " \n", " \n", - " 241\n", + " 242\n", " NaN\n", " Mali\n", " 17.570692\n", @@ -1035,7 +1037,7 @@ " 1194\n", " \n", " \n", - " 242\n", + " 243\n", " NaN\n", " Saint Kitts and Nevis\n", " 17.357822\n", @@ -1059,7 +1061,7 @@ " 15\n", " \n", " \n", - " 243\n", + " 244\n", " Northwest Territories\n", " Canada\n", " 64.825500\n", @@ -1083,7 +1085,7 @@ " 5\n", " \n", " \n", - " 244\n", + " 245\n", " Yukon\n", " Canada\n", " 64.282300\n", @@ -1107,7 +1109,7 @@ " 11\n", " \n", " \n", - " 245\n", + " 246\n", " NaN\n", " Kosovo\n", " 42.602636\n", @@ -1131,7 +1133,7 @@ " 1048\n", " \n", " \n", - " 246\n", + " 247\n", " NaN\n", " Burma\n", " 21.916200\n", @@ -1155,7 +1157,7 @@ " 206\n", " \n", " \n", - " 247\n", + " 248\n", " Anguilla\n", " United Kingdom\n", " 18.220600\n", @@ -1179,7 +1181,7 @@ " 3\n", " \n", " \n", - " 248\n", + " 249\n", " British Virgin Islands\n", " United Kingdom\n", " 18.420700\n", @@ -1203,7 +1205,7 @@ " 8\n", " \n", " \n", - " 249\n", + " 250\n", " Turks and Caicos Islands\n", " United Kingdom\n", " 21.694000\n", @@ -1227,7 +1229,7 @@ " 12\n", " \n", " \n", - " 250\n", + " 251\n", " NaN\n", " MS Zaandam\n", " 0.000000\n", @@ -1251,7 +1253,7 @@ " 9\n", " \n", " \n", - " 251\n", + " 252\n", " NaN\n", " Botswana\n", " -22.328500\n", @@ -1275,7 +1277,7 @@ " 35\n", " \n", " \n", - " 252\n", + " 253\n", " NaN\n", " Burundi\n", " -3.373100\n", @@ -1299,7 +1301,7 @@ " 42\n", " \n", " \n", - " 253\n", + " 254\n", " NaN\n", " Sierra Leone\n", " 8.460555\n", @@ -1323,7 +1325,7 @@ " 812\n", " \n", " \n", - " 254\n", + " 255\n", " Bonaire, Sint Eustatius and Saba\n", " Netherlands\n", " 12.178400\n", @@ -1347,7 +1349,7 @@ " 6\n", " \n", " \n", - " 255\n", + " 256\n", " NaN\n", " Malawi\n", " -13.254308\n", @@ -1371,7 +1373,7 @@ " 203\n", " \n", " \n", - " 256\n", + " 257\n", " Falkland Islands (Malvinas)\n", " United Kingdom\n", " -51.796300\n", @@ -1395,7 +1397,7 @@ " 13\n", " \n", " \n", - " 257\n", + " 258\n", " Saint Pierre and Miquelon\n", " France\n", " 46.885200\n", @@ -1419,7 +1421,7 @@ " 1\n", " \n", " \n", - " 258\n", + " 259\n", " NaN\n", " South Sudan\n", " 6.877000\n", @@ -1443,7 +1445,7 @@ " 994\n", " \n", " \n", - " 259\n", + " 260\n", " NaN\n", " Western Sahara\n", " 24.215500\n", @@ -1467,7 +1469,7 @@ " 9\n", " \n", " \n", - " 260\n", + " 261\n", " NaN\n", " Sao Tome and Principe\n", " 0.186360\n", @@ -1491,7 +1493,7 @@ " 458\n", " \n", " \n", - " 261\n", + " 262\n", " NaN\n", " Yemen\n", " 15.552727\n", @@ -1515,7 +1517,7 @@ " 278\n", " \n", " \n", - " 262\n", + " 263\n", " NaN\n", " Comoros\n", " -11.645500\n", @@ -1539,7 +1541,7 @@ " 87\n", " \n", " \n", - " 263\n", + " 264\n", " NaN\n", " Tajikistan\n", " 38.861034\n", @@ -1563,7 +1565,7 @@ " 3563\n", " \n", " \n", - " 264\n", + " 265\n", " NaN\n", " Lesotho\n", " -29.609988\n", @@ -1588,203 +1590,266 @@ " \n", " \n", "\n", - "

265 rows × 132 columns

\n", + "

266 rows × 132 columns

\n", "" ], "text/plain": [ - " Unnamed: 0 Afghanistan 33.0 \\\n", - "0 NaN Albania 41.153300 \n", - "1 NaN Algeria 28.033900 \n", - "2 NaN Andorra 42.506300 \n", - "3 NaN Angola -11.202700 \n", - "4 NaN Antigua and Barbuda 17.060800 \n", - "5 NaN Argentina -38.416100 \n", - "6 NaN Armenia 40.069100 \n", - "7 Australian Capital Territory Australia -35.473500 \n", - "8 New South Wales Australia -33.868800 \n", - "9 Northern Territory Australia -12.463400 \n", - "10 Queensland Australia -28.016700 \n", - "11 South Australia Australia -34.928500 \n", - "12 Tasmania Australia -41.454500 \n", - "13 Victoria Australia -37.813600 \n", - "14 Western Australia Australia -31.950500 \n", - "15 NaN Austria 47.516200 \n", - "16 NaN Azerbaijan 40.143100 \n", - "17 NaN Bahamas 25.034300 \n", - "18 NaN Bahrain 26.027500 \n", - "19 NaN Bangladesh 23.685000 \n", - "20 NaN Barbados 13.193900 \n", - "21 NaN Belarus 53.709800 \n", - "22 NaN Belgium 50.833300 \n", - "23 NaN Benin 9.307700 \n", - "24 NaN Bhutan 27.514200 \n", - "25 NaN Bolivia -16.290200 \n", - "26 NaN Bosnia and Herzegovina 43.915900 \n", - "27 NaN Brazil -14.235000 \n", - "28 NaN Brunei 4.535300 \n", - "29 NaN Bulgaria 42.733900 \n", + " Province/State Country/Region Lat \\\n", + "0 NaN Afghanistan 33.000000 \n", + "1 NaN Albania 41.153300 \n", + "2 NaN Algeria 28.033900 \n", + "3 NaN Andorra 42.506300 \n", + "4 NaN Angola -11.202700 \n", + "5 NaN Antigua and Barbuda 17.060800 \n", + "6 NaN Argentina -38.416100 \n", + "7 NaN Armenia 40.069100 \n", + "8 Australian Capital Territory Australia -35.473500 \n", + "9 New South Wales Australia -33.868800 \n", + "10 Northern Territory Australia -12.463400 \n", + "11 Queensland Australia -28.016700 \n", + "12 South Australia Australia -34.928500 \n", + "13 Tasmania Australia -41.454500 \n", + "14 Victoria Australia -37.813600 \n", + "15 Western Australia Australia -31.950500 \n", + "16 NaN Austria 47.516200 \n", + "17 NaN Azerbaijan 40.143100 \n", + "18 NaN Bahamas 25.034300 \n", + "19 NaN Bahrain 26.027500 \n", + "20 NaN Bangladesh 23.685000 \n", + "21 NaN Barbados 13.193900 \n", + "22 NaN Belarus 53.709800 \n", + "23 NaN Belgium 50.833300 \n", + "24 NaN Benin 9.307700 \n", + "25 NaN Bhutan 27.514200 \n", + "26 NaN Bolivia -16.290200 \n", + "27 NaN Bosnia and Herzegovina 43.915900 \n", + "28 NaN Brazil -14.235000 \n", + "29 NaN Brunei 4.535300 \n", ".. ... ... ... \n", - "235 NaN Timor-Leste -8.874217 \n", - "236 NaN Belize 13.193900 \n", - "237 NaN Laos 19.856270 \n", - "238 NaN Libya 26.335100 \n", - "239 NaN West Bank and Gaza 31.952200 \n", - "240 NaN Guinea-Bissau 11.803700 \n", - "241 NaN Mali 17.570692 \n", - "242 NaN Saint Kitts and Nevis 17.357822 \n", - "243 Northwest Territories Canada 64.825500 \n", - "244 Yukon Canada 64.282300 \n", - "245 NaN Kosovo 42.602636 \n", - "246 NaN Burma 21.916200 \n", - "247 Anguilla United Kingdom 18.220600 \n", - "248 British Virgin Islands United Kingdom 18.420700 \n", - "249 Turks and Caicos Islands United Kingdom 21.694000 \n", - "250 NaN MS Zaandam 0.000000 \n", - "251 NaN Botswana -22.328500 \n", - "252 NaN Burundi -3.373100 \n", - "253 NaN Sierra Leone 8.460555 \n", - "254 Bonaire, Sint Eustatius and Saba Netherlands 12.178400 \n", - "255 NaN Malawi -13.254308 \n", - "256 Falkland Islands (Malvinas) United Kingdom -51.796300 \n", - "257 Saint Pierre and Miquelon France 46.885200 \n", - "258 NaN South Sudan 6.877000 \n", - "259 NaN Western Sahara 24.215500 \n", - "260 NaN Sao Tome and Principe 0.186360 \n", - "261 NaN Yemen 15.552727 \n", - "262 NaN Comoros -11.645500 \n", - "263 NaN Tajikistan 38.861034 \n", - "264 NaN Lesotho -29.609988 \n", + "236 NaN Timor-Leste -8.874217 \n", + "237 NaN Belize 13.193900 \n", + "238 NaN Laos 19.856270 \n", + "239 NaN Libya 26.335100 \n", + "240 NaN West Bank and Gaza 31.952200 \n", + "241 NaN Guinea-Bissau 11.803700 \n", + "242 NaN Mali 17.570692 \n", + "243 NaN Saint Kitts and Nevis 17.357822 \n", + "244 Northwest Territories Canada 64.825500 \n", + "245 Yukon Canada 64.282300 \n", + "246 NaN Kosovo 42.602636 \n", + "247 NaN Burma 21.916200 \n", + "248 Anguilla United Kingdom 18.220600 \n", + "249 British Virgin Islands United Kingdom 18.420700 \n", + "250 Turks and Caicos Islands United Kingdom 21.694000 \n", + "251 NaN MS Zaandam 0.000000 \n", + "252 NaN Botswana -22.328500 \n", + "253 NaN Burundi -3.373100 \n", + "254 NaN Sierra Leone 8.460555 \n", + "255 Bonaire, Sint Eustatius and Saba Netherlands 12.178400 \n", + "256 NaN Malawi -13.254308 \n", + "257 Falkland Islands (Malvinas) United Kingdom -51.796300 \n", + "258 Saint Pierre and Miquelon France 46.885200 \n", + "259 NaN South Sudan 6.877000 \n", + "260 NaN Western Sahara 24.215500 \n", + "261 NaN Sao Tome and Principe 0.186360 \n", + "262 NaN Yemen 15.552727 \n", + "263 NaN Comoros -11.645500 \n", + "264 NaN Tajikistan 38.861034 \n", + "265 NaN Lesotho -29.609988 \n", + "\n", + " Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 \\\n", + "0 65.000000 0 0 0 0 0 0 \n", + "1 20.168300 0 0 0 0 0 0 \n", + "2 1.659600 0 0 0 0 0 0 \n", + "3 1.521800 0 0 0 0 0 0 \n", + "4 17.873900 0 0 0 0 0 0 \n", + "5 -61.796400 0 0 0 0 0 0 \n", + "6 -63.616700 0 0 0 0 0 0 \n", + "7 45.038200 0 0 0 0 0 0 \n", + "8 149.012400 0 0 0 0 0 0 \n", + "9 151.209300 0 0 0 0 3 4 \n", + "10 130.845600 0 0 0 0 0 0 \n", + "11 153.400000 0 0 0 0 0 0 \n", + "12 138.600700 0 0 0 0 0 0 \n", + "13 145.970700 0 0 0 0 0 0 \n", + "14 144.963100 0 0 0 0 1 1 \n", + "15 115.860500 0 0 0 0 0 0 \n", + "16 14.550100 0 0 0 0 0 0 \n", + "17 47.576900 0 0 0 0 0 0 \n", + "18 -77.396300 0 0 0 0 0 0 \n", + "19 50.550000 0 0 0 0 0 0 \n", + "20 90.356300 0 0 0 0 0 0 \n", + "21 -59.543200 0 0 0 0 0 0 \n", + "22 27.953400 0 0 0 0 0 0 \n", + "23 4.000000 0 0 0 0 0 0 \n", + "24 2.315800 0 0 0 0 0 0 \n", + "25 90.433600 0 0 0 0 0 0 \n", + "26 -63.588700 0 0 0 0 0 0 \n", + "27 17.679100 0 0 0 0 0 0 \n", + "28 -51.925300 0 0 0 0 0 0 \n", + "29 114.727700 0 0 0 0 0 0 \n", + ".. ... ... ... ... ... ... ... \n", + "236 125.727539 0 0 0 0 0 0 \n", + "237 -59.543200 0 0 0 0 0 0 \n", + "238 102.495496 0 0 0 0 0 0 \n", + "239 17.228331 0 0 0 0 0 0 \n", + "240 35.233200 0 0 0 0 0 0 \n", + "241 -15.180400 0 0 0 0 0 0 \n", + "242 -3.996166 0 0 0 0 0 0 \n", + "243 -62.782998 0 0 0 0 0 0 \n", + "244 -124.845700 0 0 0 0 0 0 \n", + "245 -135.000000 0 0 0 0 0 0 \n", + "246 20.902977 0 0 0 0 0 0 \n", + "247 95.956000 0 0 0 0 0 0 \n", + "248 -63.068600 0 0 0 0 0 0 \n", + "249 -64.640000 0 0 0 0 0 0 \n", + "250 -71.797900 0 0 0 0 0 0 \n", + "251 0.000000 0 0 0 0 0 0 \n", + "252 24.684900 0 0 0 0 0 0 \n", + "253 29.918900 0 0 0 0 0 0 \n", + "254 -11.779889 0 0 0 0 0 0 \n", + "255 -68.238500 0 0 0 0 0 0 \n", + "256 34.301525 0 0 0 0 0 0 \n", + "257 -59.523600 0 0 0 0 0 0 \n", + "258 -56.315900 0 0 0 0 0 0 \n", + "259 31.307000 0 0 0 0 0 0 \n", + "260 -12.885800 0 0 0 0 0 0 \n", + "261 6.613081 0 0 0 0 0 0 \n", + "262 48.516388 0 0 0 0 0 0 \n", + "263 43.333300 0 0 0 0 0 0 \n", + "264 71.276093 0 0 0 0 0 0 \n", + "265 28.233608 0 0 0 0 0 0 \n", "\n", - " 65.0 0 0.1 0.2 0.3 0.4 0.5 ... 7653 8145 8676 \\\n", - "0 20.168300 0 0 0 0 0 0 ... 949 964 969 \n", - "1 1.659600 0 0 0 0 0 0 ... 7377 7542 7728 \n", - "2 1.521800 0 0 0 0 0 0 ... 761 762 762 \n", - "3 17.873900 0 0 0 0 0 0 ... 52 52 58 \n", - "4 -61.796400 0 0 0 0 0 0 ... 25 25 25 \n", - "5 -63.616700 0 0 0 0 0 0 ... 8809 9283 9931 \n", - "6 45.038200 0 0 0 0 0 0 ... 5041 5271 5606 \n", - "7 149.012400 0 0 0 0 0 0 ... 107 107 107 \n", - "8 151.209300 0 0 0 0 3 4 ... 3081 3082 3084 \n", - "9 130.845600 0 0 0 0 0 0 ... 29 29 29 \n", - "10 153.400000 0 0 0 0 0 0 ... 1058 1058 1058 \n", - "11 138.600700 0 0 0 0 0 0 ... 439 439 439 \n", - "12 145.970700 0 0 0 0 0 0 ... 228 228 228 \n", - "13 144.963100 0 0 0 0 1 1 ... 1573 1581 1593 \n", - "14 115.860500 0 0 0 0 0 0 ... 557 557 557 \n", - "15 14.550100 0 0 0 0 0 0 ... 16321 16353 16404 \n", - "16 47.576900 0 0 0 0 0 0 ... 3518 3631 3749 \n", - "17 -77.396300 0 0 0 0 0 0 ... 96 97 97 \n", - "18 50.550000 0 0 0 0 0 0 ... 7532 7888 8174 \n", - "19 90.356300 0 0 0 0 0 0 ... 25121 26738 28511 \n", - "20 -59.543200 0 0 0 0 0 0 ... 90 90 90 \n", - "21 27.953400 0 0 0 0 0 0 ... 31508 32426 33371 \n", - "22 4.000000 0 0 0 0 0 0 ... 55791 55983 56235 \n", - "23 2.315800 0 0 0 0 0 0 ... 130 130 135 \n", - "24 90.433600 0 0 0 0 0 0 ... 21 21 21 \n", - "25 -63.588700 0 0 0 0 0 0 ... 4481 4919 5187 \n", - "26 17.679100 0 0 0 0 0 0 ... 2321 2338 2350 \n", - "27 -51.925300 0 0 0 0 0 0 ... 271885 291579 310087 \n", - "28 114.727700 0 0 0 0 0 0 ... 141 141 141 \n", - "29 25.485800 0 0 0 0 0 0 ... 2259 2292 2331 \n", - ".. ... .. ... ... ... ... ... ... ... ... ... \n", - "235 125.727539 0 0 0 0 0 0 ... 24 24 24 \n", - "236 -59.543200 0 0 0 0 0 0 ... 18 18 18 \n", - "237 102.495496 0 0 0 0 0 0 ... 19 19 19 \n", - "238 17.228331 0 0 0 0 0 0 ... 68 69 71 \n", - "239 35.233200 0 0 0 0 0 0 ... 391 398 423 \n", - "240 -15.180400 0 0 0 0 0 0 ... 1038 1089 1109 \n", - "241 -3.996166 0 0 0 0 0 0 ... 901 931 947 \n", - "242 -62.782998 0 0 0 0 0 0 ... 15 15 15 \n", - "243 -124.845700 0 0 0 0 0 0 ... 5 5 5 \n", - "244 -135.000000 0 0 0 0 0 0 ... 11 11 11 \n", - "245 20.902977 0 0 0 0 0 0 ... 989 989 1003 \n", - "246 95.956000 0 0 0 0 0 0 ... 193 199 199 \n", - "247 -63.068600 0 0 0 0 0 0 ... 3 3 3 \n", - "248 -64.640000 0 0 0 0 0 0 ... 8 8 8 \n", - "249 -71.797900 0 0 0 0 0 0 ... 12 12 12 \n", - "250 0.000000 0 0 0 0 0 0 ... 9 9 9 \n", - "251 24.684900 0 0 0 0 0 0 ... 25 25 29 \n", - "252 29.918900 0 0 0 0 0 0 ... 42 42 42 \n", - "253 -11.779889 0 0 0 0 0 0 ... 534 570 585 \n", - "254 -68.238500 0 0 0 0 0 0 ... 6 6 6 \n", - "255 34.301525 0 0 0 0 0 0 ... 70 71 72 \n", - "256 -59.523600 0 0 0 0 0 0 ... 13 13 13 \n", - "257 -56.315900 0 0 0 0 0 0 ... 1 1 1 \n", - "258 31.307000 0 0 0 0 0 0 ... 290 290 481 \n", - "259 -12.885800 0 0 0 0 0 0 ... 6 6 6 \n", - "260 6.613081 0 0 0 0 0 0 ... 251 251 251 \n", - "261 48.516388 0 0 0 0 0 0 ... 167 184 197 \n", - "262 43.333300 0 0 0 0 0 0 ... 11 34 34 \n", - "263 71.276093 0 0 0 0 0 0 ... 1936 2140 2350 \n", - "264 28.233608 0 0 0 0 0 0 ... 1 1 1 \n", + " ... 5/19/20 5/20/20 5/21/20 5/22/20 5/23/20 5/24/20 5/25/20 \\\n", + "0 ... 7653 8145 8676 9216 9998 10582 11173 \n", + "1 ... 949 964 969 981 989 998 1004 \n", + "2 ... 7377 7542 7728 7918 8113 8306 8503 \n", + "3 ... 761 762 762 762 762 762 763 \n", + "4 ... 52 52 58 60 61 69 70 \n", + "5 ... 25 25 25 25 25 25 25 \n", + "6 ... 8809 9283 9931 10649 11353 12076 12628 \n", + "7 ... 5041 5271 5606 5928 6302 6661 7113 \n", + "8 ... 107 107 107 107 107 107 107 \n", + "9 ... 3081 3082 3084 3086 3087 3090 3092 \n", + "10 ... 29 29 29 29 29 29 29 \n", + "11 ... 1058 1058 1058 1060 1061 1056 1057 \n", + "12 ... 439 439 439 439 439 439 439 \n", + "13 ... 228 228 228 228 228 228 228 \n", + "14 ... 1573 1581 1593 1593 1603 1605 1610 \n", + "15 ... 557 557 557 557 560 560 564 \n", + "16 ... 16321 16353 16404 16436 16486 16503 16539 \n", + "17 ... 3518 3631 3749 3855 3982 4122 4271 \n", + "18 ... 96 97 97 97 100 100 100 \n", + "19 ... 7532 7888 8174 8414 8802 9138 9171 \n", + "20 ... 25121 26738 28511 30205 32078 33610 35585 \n", + "21 ... 90 90 90 90 92 92 92 \n", + "22 ... 31508 32426 33371 34303 35244 36198 37144 \n", + "23 ... 55791 55983 56235 56511 56810 57092 57342 \n", + "24 ... 130 130 135 135 135 191 191 \n", + "25 ... 21 21 21 21 24 24 27 \n", + "26 ... 4481 4919 5187 5579 5915 6263 6660 \n", + "27 ... 2321 2338 2350 2372 2391 2401 2406 \n", + "28 ... 271885 291579 310087 330890 347398 363211 374898 \n", + "29 ... 141 141 141 141 141 141 141 \n", + ".. ... ... ... ... ... ... ... ... \n", + "236 ... 24 24 24 24 24 24 24 \n", + "237 ... 18 18 18 18 18 18 18 \n", + "238 ... 19 19 19 19 19 19 19 \n", + "239 ... 68 69 71 72 75 75 75 \n", + "240 ... 391 398 423 423 423 423 423 \n", + "241 ... 1038 1089 1109 1114 1114 1114 1178 \n", + "242 ... 901 931 947 969 1015 1030 1059 \n", + "243 ... 15 15 15 15 15 15 15 \n", + "244 ... 5 5 5 5 5 5 5 \n", + "245 ... 11 11 11 11 11 11 11 \n", + "246 ... 989 989 1003 1004 1025 1032 1038 \n", + "247 ... 193 199 199 199 201 201 203 \n", + "248 ... 3 3 3 3 3 3 3 \n", + "249 ... 8 8 8 8 8 8 8 \n", + "250 ... 12 12 12 12 12 12 12 \n", + "251 ... 9 9 9 9 9 9 9 \n", + "252 ... 25 25 29 30 30 35 35 \n", + "253 ... 42 42 42 42 42 42 42 \n", + "254 ... 534 570 585 606 621 707 735 \n", + "255 ... 6 6 6 6 6 6 6 \n", + "256 ... 70 71 72 82 82 83 101 \n", + "257 ... 13 13 13 13 13 13 13 \n", + "258 ... 1 1 1 1 1 1 1 \n", + "259 ... 290 290 481 563 655 655 806 \n", + "260 ... 6 6 6 6 6 9 9 \n", + "261 ... 251 251 251 251 251 251 299 \n", + "262 ... 167 184 197 209 212 222 233 \n", + "263 ... 11 34 34 78 78 87 87 \n", + "264 ... 1936 2140 2350 2551 2738 2929 3100 \n", + "265 ... 1 1 1 2 2 2 2 \n", "\n", - " 9216 9998 10582 11173 11831 12456 13036 \n", - "0 981 989 998 1004 1029 1050 1076 \n", - "1 7918 8113 8306 8503 8697 8857 8997 \n", - "2 762 762 762 763 763 763 763 \n", - "3 60 61 69 70 70 71 74 \n", - "4 25 25 25 25 25 25 25 \n", - "5 10649 11353 12076 12628 13228 13933 14702 \n", - "6 5928 6302 6661 7113 7402 7774 8216 \n", - "7 107 107 107 107 107 107 107 \n", - "8 3086 3087 3090 3092 3089 3090 3092 \n", - "9 29 29 29 29 29 29 29 \n", - "10 1060 1061 1056 1057 1058 1058 1058 \n", - "11 439 439 439 439 440 440 440 \n", - "12 228 228 228 228 228 228 228 \n", - "13 1593 1603 1605 1610 1618 1628 1634 \n", - "14 557 560 560 564 570 570 577 \n", - "15 16436 16486 16503 16539 16557 16591 16628 \n", - "16 3855 3982 4122 4271 4403 4568 4759 \n", - "17 97 100 100 100 100 100 101 \n", - "18 8414 8802 9138 9171 9366 9692 10052 \n", - "19 30205 32078 33610 35585 36751 38292 40321 \n", - "20 90 92 92 92 92 92 92 \n", - "21 34303 35244 36198 37144 38059 38956 39858 \n", - "22 56511 56810 57092 57342 57455 57592 57849 \n", - "23 135 135 191 191 208 210 210 \n", - "24 21 24 24 27 27 28 31 \n", - "25 5579 5915 6263 6660 7136 7768 8387 \n", - "26 2372 2391 2401 2406 2416 2435 2462 \n", - "27 330890 347398 363211 374898 391222 411821 438238 \n", - "28 141 141 141 141 141 141 141 \n", - "29 2372 2408 2427 2433 2443 2460 2477 \n", - ".. ... ... ... ... ... ... ... \n", - "235 24 24 24 24 24 24 24 \n", - "236 18 18 18 18 18 18 18 \n", - "237 19 19 19 19 19 19 19 \n", - "238 72 75 75 75 77 99 105 \n", - "239 423 423 423 423 429 434 446 \n", - "240 1114 1114 1114 1178 1178 1195 1195 \n", - "241 969 1015 1030 1059 1077 1116 1194 \n", - "242 15 15 15 15 15 15 15 \n", - "243 5 5 5 5 5 5 5 \n", - "244 11 11 11 11 11 11 11 \n", - "245 1004 1025 1032 1038 1038 1047 1048 \n", - "246 199 201 201 203 206 206 206 \n", - "247 3 3 3 3 3 3 3 \n", - "248 8 8 8 8 8 8 8 \n", - "249 12 12 12 12 12 12 12 \n", - "250 9 9 9 9 9 9 9 \n", - "251 30 30 35 35 35 35 35 \n", - "252 42 42 42 42 42 42 42 \n", - "253 606 621 707 735 754 782 812 \n", - "254 6 6 6 6 6 6 6 \n", - "255 82 82 83 101 101 101 203 \n", - "256 13 13 13 13 13 13 13 \n", - "257 1 1 1 1 1 1 1 \n", - "258 563 655 655 806 806 994 994 \n", - "259 6 6 9 9 9 9 9 \n", - "260 251 251 251 299 441 443 458 \n", - "261 209 212 222 233 249 256 278 \n", - "262 78 78 87 87 87 87 87 \n", - "263 2551 2738 2929 3100 3266 3424 3563 \n", - "264 2 2 2 2 2 2 2 \n", + " 5/26/20 5/27/20 5/28/20 \n", + "0 11831 12456 13036 \n", + "1 1029 1050 1076 \n", + "2 8697 8857 8997 \n", + "3 763 763 763 \n", + "4 70 71 74 \n", + "5 25 25 25 \n", + "6 13228 13933 14702 \n", + "7 7402 7774 8216 \n", + "8 107 107 107 \n", + "9 3089 3090 3092 \n", + "10 29 29 29 \n", + "11 1058 1058 1058 \n", + "12 440 440 440 \n", + "13 228 228 228 \n", + "14 1618 1628 1634 \n", + "15 570 570 577 \n", + "16 16557 16591 16628 \n", + "17 4403 4568 4759 \n", + "18 100 100 101 \n", + "19 9366 9692 10052 \n", + "20 36751 38292 40321 \n", + "21 92 92 92 \n", + "22 38059 38956 39858 \n", + "23 57455 57592 57849 \n", + "24 208 210 210 \n", + "25 27 28 31 \n", + "26 7136 7768 8387 \n", + "27 2416 2435 2462 \n", + "28 391222 411821 438238 \n", + "29 141 141 141 \n", + ".. ... ... ... \n", + "236 24 24 24 \n", + "237 18 18 18 \n", + "238 19 19 19 \n", + "239 77 99 105 \n", + "240 429 434 446 \n", + "241 1178 1195 1195 \n", + "242 1077 1116 1194 \n", + "243 15 15 15 \n", + "244 5 5 5 \n", + "245 11 11 11 \n", + "246 1038 1047 1048 \n", + "247 206 206 206 \n", + "248 3 3 3 \n", + "249 8 8 8 \n", + "250 12 12 12 \n", + "251 9 9 9 \n", + "252 35 35 35 \n", + "253 42 42 42 \n", + "254 754 782 812 \n", + "255 6 6 6 \n", + "256 101 101 203 \n", + "257 13 13 13 \n", + "258 1 1 1 \n", + "259 806 994 994 \n", + "260 9 9 9 \n", + "261 441 443 458 \n", + "262 249 256 278 \n", + "263 87 87 87 \n", + "264 3266 3424 3563 \n", + "265 2 2 2 \n", "\n", - "[265 rows x 132 columns]" + "[266 rows x 132 columns]" ] }, - "execution_count": 12, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -1794,15 +1859,304 @@ "import urllib.request\n", "\n", "if os.path.exists(localData):\n", - " raw_data = pd.read_csv(localData, skiprows=1)\n", + " raw_data = pd.read_csv(localData)\n", " print(\"Local File Selected\")\n", "else :\n", " urllib.request.urlretrieve(data_url, data_data)\n", - " raw_data = pd.read_csv(data_url, skiprows=1)\n", + " raw_data = pd.read_csv(data_url)\n", " print(\"Online File Selected\")\n", " \n", "raw_data" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données ci-dessus sont les données brutes provenant du fichier CSV de gauche à droite elles correspondent à :\n", + "\n", + "| Column's Name | Meaning |\n", + "| ---------------|:------------------------------------------------------------------------------:|\n", + "| ID | unique identity for the row |\n", + "| Province/State | gives data for a specific regions |\n", + "| Country/Region | the country or the region to which the data are corresponding |\n", + "| Lat | latitude |\n", + "| Long | longitude |\n", + "| 1/22/20 | from here it gives the number citizens having the covid19 |" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données manquantes corresponde aux pays qui ne sont pas représenté à travers différentes provinces et états les composants.\n", + "Cependant, nous ne sommes pas dépendant de ces données, seul les données relatives au pays suivant nous intéresse. \n", + "\n", + "* Belgique \n", + "* Chine - toutes les provinces sauf Hong-Kong (China), Hong Kong (China, Hong-Kong)\n", + "* France métropolitaine\n", + "* Allemagne\n", + "* Iran\n", + "* Italie\n", + "* Japon\n", + "* Corée du Sud\n", + "* Hollande\n", + "* Portugal \n", + "* Espagne\n", + "* Royaume-Unis\n", + "* États-Unis\n", + "\n", + "## Regroupement des données à inclure dans l'étude\n", + "\n", + "Ici nous utilisons la méthode [*loc*](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html) de pandas pour extraire des données brutes les lignes correspondantes aux pays cités ci-dessus.\n", + "\n", + "Afin de ne pas rendre le *code* illisible le processus est divisé en de multiples étapes. (toutes ces étapes peuvent être regroupé en une expression logique." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "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", + "
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/20...5/19/205/20/205/21/205/22/205/23/205/24/205/25/205/26/205/27/205/28/20
23NaNBelgium50.83334.0000000...55791559835623556511568105709257342574555759257849
\n", + "

1 rows × 132 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", + "23 NaN Belgium 50.8333 4.0 0 0 0 \n", + "\n", + " 1/25/20 1/26/20 1/27/20 ... 5/19/20 5/20/20 5/21/20 5/22/20 \\\n", + "23 0 0 0 ... 55791 55983 56235 56511 \n", + "\n", + " 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 \n", + "23 56810 57092 57342 57455 57592 57849 \n", + "\n", + "[1 rows x 132 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# let's create a new variable to store our new data frame\n", + "# starting with Belgium\n", + "dataCountries = raw_data.loc[(raw_data['Country/Region'] == 'Belgium')]\n", + "\n", + "dataCountries" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "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", + "
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/20...5/19/205/20/205/21/205/22/205/23/205/24/205/25/205/26/205/27/205/28/20
23NaNBelgium50.83334.0000000000...55791559835623556511568105709257342574555759257849
116NaNFrance46.22762.2137002333...178428179069179306179645179964179859180166179887180044183309
\n", + "

2 rows × 132 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n", + "23 NaN Belgium 50.8333 4.0000 0 0 0 \n", + "116 NaN France 46.2276 2.2137 0 0 2 \n", + "\n", + " 1/25/20 1/26/20 1/27/20 ... 5/19/20 5/20/20 5/21/20 5/22/20 \\\n", + "23 0 0 0 ... 55791 55983 56235 56511 \n", + "116 3 3 3 ... 178428 179069 179306 179645 \n", + "\n", + " 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 \n", + "23 56810 57092 57342 57455 57592 57849 \n", + "116 179964 179859 180166 179887 180044 183309 \n", + "\n", + "[2 rows x 132 columns]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# now let's add to dataCountries the rest of the countries needed \n", + "# Here with & Prince/State.isnull we are only including metropolitan France's row and not the specific regions from France detailed in the data.\n", + "\n", + "dataCountries = dataCountries.append(raw_data.loc[(raw_data['Country/Region'] == 'France') & (raw_data['Province/State'].isnull())])\n", + "\n", + "dataCountries" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les mêmes étapes sont utilisées pour le reste des pays manquants, sauf pour la Chine qui nécessite une opération spécial. (Voir ci-dessous)" + ] } ], "metadata": {