From 488f5d5acc0a0961d30a22a84ad8cd122757c99b Mon Sep 17 00:00:00 2001 From: babb2d30aa66a4380221fe97e5653380 Date: Tue, 16 Feb 2021 14:38:09 +0000 Subject: [PATCH] Replace exercice.ipynb --- module3/exo3/exercice.ipynb | 4515 ++++++++++++++++++++++++++++++++++- 1 file changed, 4511 insertions(+), 4 deletions(-) diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index 0bbbe37..b05f997 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -1,5 +1,4513 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Autour du SARS-CoV-2(Covid-19)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sujet\n", + "\n", + "Le but est de reproduire des graphes semblables à ceux du (South China Morning Post)[https://www.scmp.com/] (SCMP), sur la page (The Coronavirus Pandemic)[https://www.scmp.com/coronavirus?src=homepage_covid_widget] et qui montrent pour différents pays le nombre cumulé (c'est-à-dire le nombre total de cas depuis le début de l'épidémie) de personnes atteintes de la (maladie à coronavirus 2019)[https://fr.wikipedia.org/wiki/Maladie_%C3%A0_coronavirus_2019]." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "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...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
0NaNAfghanistan33.93911067.709953000000...55330553355535955384554025542055445554735549255514
1NaNAlbania41.15330020.168300000000...84212853368628987528886718977690835919879307593850
2NaNAlgeria28.0339001.659600000000...108629109088109313109559109782110049110303110513110711110894
3NaNAndorra42.5063001.521800000000...10206102511027510312103521039110427104631050310538
4NaNAngola-11.20270017.873900000000...20062200862011220163202102026120294203292036620381
..................................................................
268NaNVietnam14.058324108.277199022222...1985200120502064209121402142219522282269
269NaNWest Bank and Gaza31.95220035.233200000000...162029162601163213163975164736165535166200166800167604168444
270NaNYemen15.55272748.516388000000...2127212721312131213321342136213621452145
271NaNZambia-13.13389727.849332000000...61427626336357364610655736659867681684546943770248
272NaNZimbabwe-19.01543829.154857000000...34487345523465834781348643486435045351043517235222
\n", + "

273 rows × 395 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long 1/22/20 \\\n", + "0 NaN Afghanistan 33.939110 67.709953 0 \n", + "1 NaN Albania 41.153300 20.168300 0 \n", + "2 NaN Algeria 28.033900 1.659600 0 \n", + "3 NaN Andorra 42.506300 1.521800 0 \n", + "4 NaN Angola -11.202700 17.873900 0 \n", + ".. ... ... ... ... ... \n", + "268 NaN Vietnam 14.058324 108.277199 0 \n", + "269 NaN West Bank and Gaza 31.952200 35.233200 0 \n", + "270 NaN Yemen 15.552727 48.516388 0 \n", + "271 NaN Zambia -13.133897 27.849332 0 \n", + "272 NaN Zimbabwe -19.015438 29.154857 0 \n", + "\n", + " 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 ... 2/6/21 2/7/21 2/8/21 \\\n", + "0 0 0 0 0 0 ... 55330 55335 55359 \n", + "1 0 0 0 0 0 ... 84212 85336 86289 \n", + "2 0 0 0 0 0 ... 108629 109088 109313 \n", + "3 0 0 0 0 0 ... 10206 10251 10275 \n", + "4 0 0 0 0 0 ... 20062 20086 20112 \n", + ".. ... ... ... ... ... ... ... ... ... \n", + "268 2 2 2 2 2 ... 1985 2001 2050 \n", + "269 0 0 0 0 0 ... 162029 162601 163213 \n", + "270 0 0 0 0 0 ... 2127 2127 2131 \n", + "271 0 0 0 0 0 ... 61427 62633 63573 \n", + "272 0 0 0 0 0 ... 34487 34552 34658 \n", + "\n", + " 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "0 55384 55402 55420 55445 55473 55492 55514 \n", + "1 87528 88671 89776 90835 91987 93075 93850 \n", + "2 109559 109782 110049 110303 110513 110711 110894 \n", + "3 10312 10352 10391 10427 10463 10503 10538 \n", + "4 20163 20210 20261 20294 20329 20366 20381 \n", + ".. ... ... ... ... ... ... ... \n", + "268 2064 2091 2140 2142 2195 2228 2269 \n", + "269 163975 164736 165535 166200 166800 167604 168444 \n", + "270 2131 2133 2134 2136 2136 2145 2145 \n", + "271 64610 65573 66598 67681 68454 69437 70248 \n", + "272 34781 34864 34864 35045 35104 35172 35222 \n", + "\n", + "[273 rows x 395 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = 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", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données que nous utiliserons dans un premier temps sont compilées par le (Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE))[https://systems.jhu.edu/] et sont mises à disposition sur (GitHub)[https://github.com/CSSEGISandData/COVID-19]. C'est plus particulièrement sur les données time_series_covid19_confirmed_global.csv (des suites chronologiques au format (csv)[https://fr.wikipedia.org/wiki/Comma-separated_values]) disponibles à l'adresse : https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv, que nous allons nous concentrer." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Seuls les pays suivants devront figurer dans l'exercice montrant l’évolution du nombre de cas cumulé au cours du temps :\n", + "\n", + "* sélection des pays sans contraintes particulières.\n", + " 1) la Belgique (Belgium), \n", + " 2) l’Allemagne (Germany), \n", + " 3) l’Iran (Iran), \n", + " 4) l’Italie (Italy), \n", + " 5) le Japon (Japan), \n", + " 6) la Corée du Sud (Korea, South), \n", + " 7) le Portugal (Portugal), \n", + " 8) l’Espagne (Spain),\n", + " 9) les États-Unis (US)\n", + "\n", + "* traitement particulier pour les pays avec des territoires d'outre-mer et autres « résidus coloniaux » à soustraire.\n", + " 10) la France métropolitaine (France),\n", + " 11) la Hollande sans les colonies (Netherlands), \n", + " 12) le Royaume-Unis (United Kingdom)\n", + "\n", + "* traitement particulier pour les provinces chinoises (Pour le besoin de l'exercice, nous devons séparer *Hong-Kong*, non pour prendre parti dans les différences entre cette province et l'état chinois, mais parce que c'est ainsi qu'apparaissent les données sur le site du SCMP).\n", + " 13) la Chine - toutes les provinces sauf Hong-Kong (China), \n", + " 14) Hong Kong (China, Hong-Kong)\n", + "\n", + "Nous devons donc isoler notre sélection sur ces 14 pays/régions. Le nom entre parenthèses est le nom du « pays » tel qu’il apparaît dans le fichier utilisé `time_series_covid19_confirmed_global.csv.`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## la sélection des 9 pays sans contraintes." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
Belgium50.8333004.46993600000000...723870725610726483728334730951733100735220737115738631739488
Germany51.16569110.45152600000144...2285003229167322963232302051231129723212252330422233690623417442346876
Iran32.42790853.68804600000000...1459370146643514737561481396148898114964551503753151087315182631526023
Italy41.87194012.56738000000000...2625098263673826447072655319266826626834032697296271081927218792729223
Japan36.204824138.25292422224477...404128405765406992408550410434412125413441414803416154417127
Korea, South35.907757127.76692211223444...80896811858148781930824348283783199835258386984325
Portugal39.399900-8.22450000000000...761906765414767919770502774889778369781223784079785756787059
Spain40.463667-3.74922000000000...2941990294199029890853005487302360130414543056035305603530560353086286
US40.000000-100.00000011225556...26917787270073682709709527192455272871592739251227492023275753442764028227694165
\n", + "

9 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Country/Region \n", + "Belgium 50.833300 4.469936 0 0 0 0 \n", + "Germany 51.165691 10.451526 0 0 0 0 \n", + "Iran 32.427908 53.688046 0 0 0 0 \n", + "Italy 41.871940 12.567380 0 0 0 0 \n", + "Japan 36.204824 138.252924 2 2 2 2 \n", + "Korea, South 35.907757 127.766922 1 1 2 2 \n", + "Portugal 39.399900 -8.224500 0 0 0 0 \n", + "Spain 40.463667 -3.749220 0 0 0 0 \n", + "US 40.000000 -100.000000 1 1 2 2 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Country/Region ... \n", + "Belgium 0 0 0 0 ... 723870 725610 \n", + "Germany 0 1 4 4 ... 2285003 2291673 \n", + "Iran 0 0 0 0 ... 1459370 1466435 \n", + "Italy 0 0 0 0 ... 2625098 2636738 \n", + "Japan 4 4 7 7 ... 404128 405765 \n", + "Korea, South 3 4 4 4 ... 80896 81185 \n", + "Portugal 0 0 0 0 ... 761906 765414 \n", + "Spain 0 0 0 0 ... 2941990 2941990 \n", + "US 5 5 5 6 ... 26917787 27007368 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 \\\n", + "Country/Region \n", + "Belgium 726483 728334 730951 733100 735220 737115 \n", + "Germany 2296323 2302051 2311297 2321225 2330422 2336906 \n", + "Iran 1473756 1481396 1488981 1496455 1503753 1510873 \n", + "Italy 2644707 2655319 2668266 2683403 2697296 2710819 \n", + "Japan 406992 408550 410434 412125 413441 414803 \n", + "Korea, South 81487 81930 82434 82837 83199 83525 \n", + "Portugal 767919 770502 774889 778369 781223 784079 \n", + "Spain 2989085 3005487 3023601 3041454 3056035 3056035 \n", + "US 27097095 27192455 27287159 27392512 27492023 27575344 \n", + "\n", + " 2/14/21 2/15/21 \n", + "Country/Region \n", + "Belgium 738631 739488 \n", + "Germany 2341744 2346876 \n", + "Iran 1518263 1526023 \n", + "Italy 2721879 2729223 \n", + "Japan 416154 417127 \n", + "Korea, South 83869 84325 \n", + "Portugal 785756 787059 \n", + "Spain 3056035 3086286 \n", + "US 27640282 27694165 \n", + "\n", + "[9 rows x 393 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection1 = data[data[\"Country/Region\"].isin([\"Belgium\", \"Germany\", \"Iran\", \"Italy\", \"Japan\", \"Korea, South\", \"Portugal\", \"Spain\", \"US\"])]\n", + "data_selection2 = data_selection1[data_selection1[\"Province/State\"].isna()]\n", + "data_selection3 = data_selection2.groupby('Country/Region').sum()\n", + "data_selection3.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## les pays avec des territoires d'outre-mer et autres « résidus coloniaux »." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "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", + "
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
118French GuianaFrance3.933900-53.125800000000...16296162961629616296162961629616296164561645616456
119French PolynesiaFrance-17.679700149.406800000000...18185181851820618222182441825718263182631826318293
120GuadeloupeFrance16.265000-61.551000000000...9156915691569302930293029302930293029302
121MartiniqueFrance14.641500-61.024200000000...6442644264426521652165216521652165216521
122MayotteFrance-12.82750045.166244000000...10755107551075511147114471178312440127021353513535
123New CaledoniaFrance-20.904305165.618042000000...49495050505052525252
124ReunionFrance-21.11510055.536400000000...10487104871048710487104871090710907109071090710907
125Saint BarthelemyFrance17.900000-62.833300000000...360360360360455455455455455455
126Saint Pierre and MiquelonFrance46.885200-56.315900000000...24242424242424242424
127St MartinFrance18.070800-63.050100000000...1234123412341234140814081408140814081408
128Wallis and FutunaFrance-14.293800-178.116500000000...5599999999
129NaNFrance46.2276002.213700002333...3303273332298833273053345558337064533909523390952339095233909523451894
253AnguillaUnited Kingdom18.220600-63.068600000000...17171718181818181818
254BermudaUnited Kingdom32.307800-64.750500000000...692692694694694694694694694695
255British Virgin IslandsUnited Kingdom18.420700-64.640000000000...114114114114114114114114114114
256Cayman IslandsUnited Kingdom19.313300-81.254600000000...405405408408408411416416416416
257Channel IslandsUnited Kingdom49.372300-2.364400000000...3885389639183939395039613980398939994004
258Falkland Islands (Malvinas)United Kingdom-51.796300-59.523600000000...45454553535353535353
259GibraltarUnited Kingdom36.140800-5.353600000000...4177418241874190419742034212421542194223
260Isle of ManUnited Kingdom54.236100-4.548100000000...434434435436436436436436436436
261MontserratUnited Kingdom16.742498-62.187366000000...15171818181919192020
262Turks and Caicos IslandsUnited Kingdom21.694000-71.797900000000...1654169516951738178418121833186918731874
263NaNUnited Kingdom55.378100-3.436000000000...3929835394568039597843972148398516139986554013799402710640380784047843
\n", + "

23 rows × 395 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long \\\n", + "118 French Guiana France 3.933900 -53.125800 \n", + "119 French Polynesia France -17.679700 149.406800 \n", + "120 Guadeloupe France 16.265000 -61.551000 \n", + "121 Martinique France 14.641500 -61.024200 \n", + "122 Mayotte France -12.827500 45.166244 \n", + "123 New Caledonia France -20.904305 165.618042 \n", + "124 Reunion France -21.115100 55.536400 \n", + "125 Saint Barthelemy France 17.900000 -62.833300 \n", + "126 Saint Pierre and Miquelon France 46.885200 -56.315900 \n", + "127 St Martin France 18.070800 -63.050100 \n", + "128 Wallis and Futuna France -14.293800 -178.116500 \n", + "129 NaN France 46.227600 2.213700 \n", + "253 Anguilla United Kingdom 18.220600 -63.068600 \n", + "254 Bermuda United Kingdom 32.307800 -64.750500 \n", + "255 British Virgin Islands United Kingdom 18.420700 -64.640000 \n", + "256 Cayman Islands United Kingdom 19.313300 -81.254600 \n", + "257 Channel Islands United Kingdom 49.372300 -2.364400 \n", + "258 Falkland Islands (Malvinas) United Kingdom -51.796300 -59.523600 \n", + "259 Gibraltar United Kingdom 36.140800 -5.353600 \n", + "260 Isle of Man United Kingdom 54.236100 -4.548100 \n", + "261 Montserrat United Kingdom 16.742498 -62.187366 \n", + "262 Turks and Caicos Islands United Kingdom 21.694000 -71.797900 \n", + "263 NaN United Kingdom 55.378100 -3.436000 \n", + "\n", + " 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 ... 2/6/21 \\\n", + "118 0 0 0 0 0 0 ... 16296 \n", + "119 0 0 0 0 0 0 ... 18185 \n", + "120 0 0 0 0 0 0 ... 9156 \n", + "121 0 0 0 0 0 0 ... 6442 \n", + "122 0 0 0 0 0 0 ... 10755 \n", + "123 0 0 0 0 0 0 ... 49 \n", + "124 0 0 0 0 0 0 ... 10487 \n", + "125 0 0 0 0 0 0 ... 360 \n", + "126 0 0 0 0 0 0 ... 24 \n", + "127 0 0 0 0 0 0 ... 1234 \n", + "128 0 0 0 0 0 0 ... 5 \n", + "129 0 0 2 3 3 3 ... 3303273 \n", + "253 0 0 0 0 0 0 ... 17 \n", + "254 0 0 0 0 0 0 ... 692 \n", + "255 0 0 0 0 0 0 ... 114 \n", + "256 0 0 0 0 0 0 ... 405 \n", + "257 0 0 0 0 0 0 ... 3885 \n", + "258 0 0 0 0 0 0 ... 45 \n", + "259 0 0 0 0 0 0 ... 4177 \n", + "260 0 0 0 0 0 0 ... 434 \n", + "261 0 0 0 0 0 0 ... 15 \n", + "262 0 0 0 0 0 0 ... 1654 \n", + "263 0 0 0 0 0 0 ... 3929835 \n", + "\n", + " 2/7/21 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 \\\n", + "118 16296 16296 16296 16296 16296 16296 16456 16456 \n", + "119 18185 18206 18222 18244 18257 18263 18263 18263 \n", + "120 9156 9156 9302 9302 9302 9302 9302 9302 \n", + "121 6442 6442 6521 6521 6521 6521 6521 6521 \n", + "122 10755 10755 11147 11447 11783 12440 12702 13535 \n", + "123 49 50 50 50 50 52 52 52 \n", + "124 10487 10487 10487 10487 10907 10907 10907 10907 \n", + "125 360 360 360 455 455 455 455 455 \n", + "126 24 24 24 24 24 24 24 24 \n", + "127 1234 1234 1234 1408 1408 1408 1408 1408 \n", + "128 5 9 9 9 9 9 9 9 \n", + "129 3322988 3327305 3345558 3370645 3390952 3390952 3390952 3390952 \n", + "253 17 17 18 18 18 18 18 18 \n", + "254 692 694 694 694 694 694 694 694 \n", + "255 114 114 114 114 114 114 114 114 \n", + "256 405 408 408 408 411 416 416 416 \n", + "257 3896 3918 3939 3950 3961 3980 3989 3999 \n", + "258 45 45 53 53 53 53 53 53 \n", + "259 4182 4187 4190 4197 4203 4212 4215 4219 \n", + "260 434 435 436 436 436 436 436 436 \n", + "261 17 18 18 18 19 19 19 20 \n", + "262 1695 1695 1738 1784 1812 1833 1869 1873 \n", + "263 3945680 3959784 3972148 3985161 3998655 4013799 4027106 4038078 \n", + "\n", + " 2/15/21 \n", + "118 16456 \n", + "119 18293 \n", + "120 9302 \n", + "121 6521 \n", + "122 13535 \n", + "123 52 \n", + "124 10907 \n", + "125 455 \n", + "126 24 \n", + "127 1408 \n", + "128 9 \n", + "129 3451894 \n", + "253 18 \n", + "254 695 \n", + "255 114 \n", + "256 416 \n", + "257 4004 \n", + "258 53 \n", + "259 4223 \n", + "260 436 \n", + "261 20 \n", + "262 1874 \n", + "263 4047843 \n", + "\n", + "[23 rows x 395 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection4 = data[data[\"Country/Region\"].isin([\"France\", \"Netherlands »\", \"United Kingdom\"])]\n", + "data_selection4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "L'opération de regroupement des données avec les territoires d'outre-mer et les « résidus coloniaux » modifie **la latitude et la longitude** des pays à étudier.\n", + "Afin de préserver une exploitation future sur les territoires, il sera modifié la coordonnées des trois pays avec \n", + "* pour la France : Lat(46.227600)-Long(2.213700) - **index 129**\n", + "* pour la Hollande (Netherlands) : Lat(52.132600)-Long(5.291300) - **index 194**\n", + "* pour le Royaume Unis (United Kingdom) : Lat(55.378100)-Long(-3.436000) - **index 262**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 10ème pays : la France" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
France77.103595-118.07561400233345...3376266339598134003243419210344488834659643466629346705134678843528856
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Country/Region \n", + "France 77.103595 -118.075614 0 0 2 3 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Country/Region ... \n", + "France 3 3 4 5 ... 3376266 3395981 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 \\\n", + "Country/Region \n", + "France 3400324 3419210 3444888 3465964 3466629 3467051 3467884 \n", + "\n", + " 2/15/21 \n", + "Country/Region \n", + "France 3528856 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection4 = data[data[\"Country/Region\"].isin([\"France\"])]\n", + "data_selection5 = data_selection4[data_selection4[\"Province/State\"].isna()]\n", + "data_selection5 = data_selection4.groupby('Country/Region').sum()\n", + "data_selection5" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
France46.22762.213700233345...3376266339598134003243419210344488834659643466629346705134678843528856
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 \\\n", + "Country/Region \n", + "France 46.2276 2.2137 0 0 2 3 3 \n", + "\n", + " 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 2/8/21 \\\n", + "Country/Region ... \n", + "France 3 4 5 ... 3376266 3395981 3400324 \n", + "\n", + " 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "Country/Region \n", + "France 3419210 3444888 3465964 3466629 3467051 3467884 3528856 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection5.loc[:, 'Lat'] =46.227600\n", + "data_selection5.loc[:, 'Long'] =2.213700\n", + "data_selection5.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 11ème pays : la Hollande" + ] + }, + { + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
Netherlands107.0442-264.960300000000...1015757101972010219661023779102702310314541035841104007010435411046381
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Country/Region \n", + "Netherlands 107.0442 -264.9603 0 0 0 0 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Country/Region ... \n", + "Netherlands 0 0 0 0 ... 1015757 1019720 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 \\\n", + "Country/Region \n", + "Netherlands 1021966 1023779 1027023 1031454 1035841 1040070 1043541 \n", + "\n", + " 2/15/21 \n", + "Country/Region \n", + "Netherlands 1046381 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection6 = data[data[\"Country/Region\"].isin([\"Netherlands\"])]\n", + "data_selection7 = data_selection6[data_selection6[\"Province/State\"].isna()]\n", + "data_selection7 = data_selection6.groupby('Country/Region').sum()\n", + "data_selection7" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
Netherlands55.37815.291300000000...1015757101972010219661023779102702310314541035841104007010435411046381
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 \\\n", + "Country/Region \n", + "Netherlands 55.3781 5.2913 0 0 0 0 0 \n", + "\n", + " 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 2/8/21 \\\n", + "Country/Region ... \n", + "Netherlands 0 0 0 ... 1015757 1019720 1021966 \n", + "\n", + " 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "Country/Region \n", + "Netherlands 1023779 1027023 1031454 1035841 1040070 1043541 1046381 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection7.loc[:, 'Lat'] =55.378100\n", + "data_selection7.loc[:, 'Long'] =5.291300\n", + "data_selection7.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 12ème pays : le Royaume Unis" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
United Kingdom270.029898-482.92466600000000...3941273395717739713153983756399683340103764025574403892940499204059696
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Country/Region \n", + "United Kingdom 270.029898 -482.924666 0 0 0 0 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Country/Region ... \n", + "United Kingdom 0 0 0 0 ... 3941273 3957177 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 \\\n", + "Country/Region \n", + "United Kingdom 3971315 3983756 3996833 4010376 4025574 4038929 4049920 \n", + "\n", + " 2/15/21 \n", + "Country/Region \n", + "United Kingdom 4059696 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection8 = data[data[\"Country/Region\"].isin([\"United Kingdom\"])]\n", + "data_selection8\n", + "data_selection9 = data_selection8[data_selection8[\"Province/State\"].isna()]\n", + "data_selection9 = data_selection8.groupby('Country/Region').sum()\n", + "data_selection9.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
United Kingdom52.13263.43600000000...3941273395717739713153983756399683340103764025574403892940499204059696
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 \\\n", + "Country/Region \n", + "United Kingdom 52.1326 3.436 0 0 0 0 0 \n", + "\n", + " 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 2/8/21 \\\n", + "Country/Region ... \n", + "United Kingdom 0 0 0 ... 3941273 3957177 3971315 \n", + "\n", + " 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "Country/Region \n", + "United Kingdom 3983756 3996833 4010376 4025574 4038929 4049920 4059696 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection9.loc[:, 'Lat'] =52.132600\n", + "data_selection9.loc[:, 'Long'] =3.436000\n", + "data_selection9.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## la chine, ses provinces dont Hong Kong\n", + "Pour répondre à l'exercice, nous devons cumuler les résultats des provinces de la Chine sans la région de Hong Kong qui doit être isolée." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 13ème \"pays\" : Hong Kong" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
China22.3114.2022588810...10608106351066710693107101073110755107671077910788
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 \\\n", + "Country/Region \n", + "China 22.3 114.2 0 2 2 5 8 \n", + "\n", + " 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 2/8/21 \\\n", + "Country/Region ... \n", + "China 8 8 10 ... 10608 10635 10667 \n", + "\n", + " 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "Country/Region \n", + "China 10693 10710 10731 10755 10767 10779 10788 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_Hong_Kong = data[data[\"Province/State\"].isin([\"Hong Kong\"])]\n", + "data_Hong_Kong2 =data_Hong_Kong.groupby('Country/Region').sum()\n", + "data_Hong_Kong2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "modification de l'index China (Country/Region) en celui de Hong Kong (Province/State) correspondant au regroupement." + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "data_Hong_Kong2.rename({\"China\":\"Hong Kong\"},inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Hong_Kong
Hong Kong22.3114.2022588810...10608106351066710693107101073110755107671077910788
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 \\\n", + "Hong_Kong \n", + "Hong Kong 22.3 114.2 0 2 2 5 8 8 \n", + "\n", + " 1/28/20 1/29/20 ... 2/6/21 2/7/21 2/8/21 2/9/21 2/10/21 \\\n", + "Hong_Kong ... \n", + "Hong Kong 8 10 ... 10608 10635 10667 10693 10710 \n", + "\n", + " 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "Hong_Kong \n", + "Hong Kong 10731 10755 10767 10779 10788 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_Hong_Kong3 = data_Hong_Kong2.copy()\n", + "data_Hong_Kong3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 14ème pays : la Chine\n", + "\n", + "33 provinces sont répertoriées pour la Chine dans cette extraction avec la province de Hong Kong" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "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...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
58AnhuiChina31.8257117.22641915396070...994994994994994994994994994994
59BeijingChina40.1824116.4142142236416880...1046104610461046104610461046104610461046
60ChongqingChina30.0572107.874069275775110...591591591591591591591591591591
61FujianChina26.0789117.98741510183559...545545546547548548548548548548
62GansuChina35.7518104.28610224714...187187187187187187187187187187
63GuangdongChina23.3417113.424426325378111151...2137214421512151215221542157215921632171
64GuangxiChina23.8298108.78812523233646...267267267267267267267267267267
65GuizhouChina26.8154106.8748133457...147147147147147147147147147147
66HainanChina19.1959109.7453458192233...171171171171171171171171171171
67HebeiChina39.5490116.130611281318...1316131613161316131613161316131613171317
68HeilongjiangChina47.8620127.761502491521...1609160916091609160916091609160916091609
69HenanChina37.8957114.90425593283128...1303130313031303130313031303130313041304
70Hong KongChina22.3000114.2000022588...10608106351066710693107101073110755107671077910788
71HubeiChina30.9756112.270744444454976110581423...68150681506815068150681506815068150681506815068150
72HunanChina27.6104111.708849244369100...1033103310331033103310331033103310331033
73Inner MongoliaChina44.0935113.94480017711...366366366366366366366367367367
74JiangsuChina32.9711119.4550159183347...701701702703703703703703703703
75JiangxiChina27.6140115.72212718183672...935935935935935935935935935935
76JilinChina43.6661126.1923013446...573573573573573573573573573573
77LiaoningChina41.2956122.6085234172127...402402402402402403404404404404
78MacauChina22.1667113.5500122256...48484848484848484848
79NingxiaChina37.2692106.1655112347...75757575757575757575
80QinghaiChina35.745295.9956000116...18181818181818181818
81ShaanxiChina35.1917108.8701035152235...542542542543543543543544545547
82ShandongChina36.3427118.14982615274675...866866867867867867867867867867
83ShanghaiChina31.2020121.449191620334053...1732173917411747174717541757175917601765
84ShanxiChina37.5777112.29221116913...239239239239239239239239239239
85SichuanChina30.6171102.71035815284469...873873874875875877877878878879
86TianjinChina39.3054117.3230448101423...346346346347347347348348349349
87TibetChina31.692788.0924000000...1111111111
88XinjiangChina41.112985.2401022345...980980980980980980980980980980
89YunnanChina24.9740101.4870125111626...231231231231231231231231231231
90ZhejiangChina29.1832120.093410274362104128...1316131613171320132013201320132013201320
\n", + "

33 rows × 395 columns

\n", + "
" + ], + "text/plain": [ + " Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n", + "58 Anhui China 31.8257 117.2264 1 9 \n", + "59 Beijing China 40.1824 116.4142 14 22 \n", + "60 Chongqing China 30.0572 107.8740 6 9 \n", + "61 Fujian China 26.0789 117.9874 1 5 \n", + "62 Gansu China 35.7518 104.2861 0 2 \n", + "63 Guangdong China 23.3417 113.4244 26 32 \n", + "64 Guangxi China 23.8298 108.7881 2 5 \n", + "65 Guizhou China 26.8154 106.8748 1 3 \n", + "66 Hainan China 19.1959 109.7453 4 5 \n", + "67 Hebei China 39.5490 116.1306 1 1 \n", + "68 Heilongjiang China 47.8620 127.7615 0 2 \n", + "69 Henan China 37.8957 114.9042 5 5 \n", + "70 Hong Kong China 22.3000 114.2000 0 2 \n", + "71 Hubei China 30.9756 112.2707 444 444 \n", + "72 Hunan China 27.6104 111.7088 4 9 \n", + "73 Inner Mongolia China 44.0935 113.9448 0 0 \n", + "74 Jiangsu China 32.9711 119.4550 1 5 \n", + "75 Jiangxi China 27.6140 115.7221 2 7 \n", + "76 Jilin China 43.6661 126.1923 0 1 \n", + "77 Liaoning China 41.2956 122.6085 2 3 \n", + "78 Macau China 22.1667 113.5500 1 2 \n", + "79 Ningxia China 37.2692 106.1655 1 1 \n", + "80 Qinghai China 35.7452 95.9956 0 0 \n", + "81 Shaanxi China 35.1917 108.8701 0 3 \n", + "82 Shandong China 36.3427 118.1498 2 6 \n", + "83 Shanghai China 31.2020 121.4491 9 16 \n", + "84 Shanxi China 37.5777 112.2922 1 1 \n", + "85 Sichuan China 30.6171 102.7103 5 8 \n", + "86 Tianjin China 39.3054 117.3230 4 4 \n", + "87 Tibet China 31.6927 88.0924 0 0 \n", + "88 Xinjiang China 41.1129 85.2401 0 2 \n", + "89 Yunnan China 24.9740 101.4870 1 2 \n", + "90 Zhejiang China 29.1832 120.0934 10 27 \n", + "\n", + " 1/24/20 1/25/20 1/26/20 1/27/20 ... 2/6/21 2/7/21 2/8/21 2/9/21 \\\n", + "58 15 39 60 70 ... 994 994 994 994 \n", + "59 36 41 68 80 ... 1046 1046 1046 1046 \n", + "60 27 57 75 110 ... 591 591 591 591 \n", + "61 10 18 35 59 ... 545 545 546 547 \n", + "62 2 4 7 14 ... 187 187 187 187 \n", + "63 53 78 111 151 ... 2137 2144 2151 2151 \n", + "64 23 23 36 46 ... 267 267 267 267 \n", + "65 3 4 5 7 ... 147 147 147 147 \n", + "66 8 19 22 33 ... 171 171 171 171 \n", + "67 2 8 13 18 ... 1316 1316 1316 1316 \n", + "68 4 9 15 21 ... 1609 1609 1609 1609 \n", + "69 9 32 83 128 ... 1303 1303 1303 1303 \n", + "70 2 5 8 8 ... 10608 10635 10667 10693 \n", + "71 549 761 1058 1423 ... 68150 68150 68150 68150 \n", + "72 24 43 69 100 ... 1033 1033 1033 1033 \n", + "73 1 7 7 11 ... 366 366 366 366 \n", + "74 9 18 33 47 ... 701 701 702 703 \n", + "75 18 18 36 72 ... 935 935 935 935 \n", + "76 3 4 4 6 ... 573 573 573 573 \n", + "77 4 17 21 27 ... 402 402 402 402 \n", + "78 2 2 5 6 ... 48 48 48 48 \n", + "79 2 3 4 7 ... 75 75 75 75 \n", + "80 0 1 1 6 ... 18 18 18 18 \n", + "81 5 15 22 35 ... 542 542 542 543 \n", + "82 15 27 46 75 ... 866 866 867 867 \n", + "83 20 33 40 53 ... 1732 1739 1741 1747 \n", + "84 1 6 9 13 ... 239 239 239 239 \n", + "85 15 28 44 69 ... 873 873 874 875 \n", + "86 8 10 14 23 ... 346 346 346 347 \n", + "87 0 0 0 0 ... 1 1 1 1 \n", + "88 2 3 4 5 ... 980 980 980 980 \n", + "89 5 11 16 26 ... 231 231 231 231 \n", + "90 43 62 104 128 ... 1316 1316 1317 1320 \n", + "\n", + " 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 \n", + "58 994 994 994 994 994 994 \n", + "59 1046 1046 1046 1046 1046 1046 \n", + "60 591 591 591 591 591 591 \n", + "61 548 548 548 548 548 548 \n", + "62 187 187 187 187 187 187 \n", + "63 2152 2154 2157 2159 2163 2171 \n", + "64 267 267 267 267 267 267 \n", + "65 147 147 147 147 147 147 \n", + "66 171 171 171 171 171 171 \n", + "67 1316 1316 1316 1316 1317 1317 \n", + "68 1609 1609 1609 1609 1609 1609 \n", + "69 1303 1303 1303 1303 1304 1304 \n", + "70 10710 10731 10755 10767 10779 10788 \n", + "71 68150 68150 68150 68150 68150 68150 \n", + "72 1033 1033 1033 1033 1033 1033 \n", + "73 366 366 366 367 367 367 \n", + "74 703 703 703 703 703 703 \n", + "75 935 935 935 935 935 935 \n", + "76 573 573 573 573 573 573 \n", + "77 402 403 404 404 404 404 \n", + "78 48 48 48 48 48 48 \n", + "79 75 75 75 75 75 75 \n", + "80 18 18 18 18 18 18 \n", + "81 543 543 543 544 545 547 \n", + "82 867 867 867 867 867 867 \n", + "83 1747 1754 1757 1759 1760 1765 \n", + "84 239 239 239 239 239 239 \n", + "85 875 877 877 878 878 879 \n", + "86 347 347 348 348 349 349 \n", + "87 1 1 1 1 1 1 \n", + "88 980 980 980 980 980 980 \n", + "89 231 231 231 231 231 231 \n", + "90 1320 1320 1320 1320 1320 1320 \n", + "\n", + "[33 rows x 395 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection10 = data[data[\"Country/Region\"].isin([\"China\"])]\n", + "data_selection10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "La province de Hong Kong qui fait l'objet d'une sélection indépendante est soustraite de la somme des provinces en réutilisant **l'index (numéro 70)** sur la liste ci-dessus)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
China1085.29233688.937754864392014062075287755096087...100348100389100435100475100494100527100559100578100599100624
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Country/Region \n", + "China 1085.2923 3688.9377 548 643 920 1406 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Country/Region ... \n", + "China 2075 2877 5509 6087 ... 100348 100389 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 \\\n", + "Country/Region \n", + "China 100435 100475 100494 100527 100559 100578 100599 \n", + "\n", + " 2/15/21 \n", + "Country/Region \n", + "China 100624 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection10[~data_selection10.index.isin([70])]\n", + "data_selection11 = data_selection10.groupby('Country/Region').sum()\n", + "data_selection11 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Le résultat cumulé des colonnes sur l'infection journalière au SARS-COVID19 de l'ensemble des provinces présente des coordonnées non valides pour la latitude(Lat) et la longitude (Long) du pays. En prévison de graphiques sectoriels, je propose d'assigner la position du centre relatif de la Chine au niveau de la province d'**Hubei** Lat-30.9756 Long-1122707.\n", + "https://fr.wikipedia.org/wiki/P%C3%A9kin#/media/Fichier:RP_Chine_administrative2.jpg" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Country/Region
China30.9756112.270754864392014062075287755096087...100348100389100435100475100494100527100559100578100599100624
\n", + "

1 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Country/Region \n", + "China 30.9756 112.2707 548 643 920 1406 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Country/Region ... \n", + "China 2075 2877 5509 6087 ... 100348 100389 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 \\\n", + "Country/Region \n", + "China 100435 100475 100494 100527 100559 100578 100599 \n", + "\n", + " 2/15/21 \n", + "Country/Region \n", + "China 100624 \n", + "\n", + "[1 rows x 393 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection11.loc[:, 'Lat'] =30.9756\n", + "data_selection11.loc[:, 'Long'] =112.2707\n", + "data_selection11.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## les 14 pays ou territoires à représenter" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "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", + "
LatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/20...2/6/212/7/212/8/212/9/212/10/212/11/212/12/212/13/212/14/212/15/21
Belgium50.8333004.46993600000000...723870725610726483728334730951733100735220737115738631739488
Germany51.16569110.45152600000144...2285003229167322963232302051231129723212252330422233690623417442346876
Iran32.42790853.68804600000000...1459370146643514737561481396148898114964551503753151087315182631526023
Italy41.87194012.56738000000000...2625098263673826447072655319266826626834032697296271081927218792729223
Japan36.204824138.25292422224477...404128405765406992408550410434412125413441414803416154417127
Korea, South35.907757127.76692211223444...80896811858148781930824348283783199835258386984325
Portugal39.399900-8.22450000000000...761906765414767919770502774889778369781223784079785756787059
Spain40.463667-3.74922000000000...2941990294199029890853005487302360130414543056035305603530560353086286
US40.000000-100.00000011225556...26917787270073682709709527192455272871592739251227492023275753442764028227694165
Hong Kong22.300000114.200000022588810...10608106351066710693107101073110755107671077910788
France46.2276002.21370000233345...3376266339598134003243419210344488834659643466629346705134678843528856
Netherlands55.3781005.29130000000000...1015757101972010219661023779102702310314541035841104007010435411046381
United Kingdom52.1326003.43600000000000...3941273395717739713153983756399683340103764025574403892940499204059696
China30.975600112.27070054864392014062075287755096087...100348100389100435100475100494100527100559100578100599100624
\n", + "

14 rows × 393 columns

\n", + "
" + ], + "text/plain": [ + " Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n", + "Belgium 50.833300 4.469936 0 0 0 0 \n", + "Germany 51.165691 10.451526 0 0 0 0 \n", + "Iran 32.427908 53.688046 0 0 0 0 \n", + "Italy 41.871940 12.567380 0 0 0 0 \n", + "Japan 36.204824 138.252924 2 2 2 2 \n", + "Korea, South 35.907757 127.766922 1 1 2 2 \n", + "Portugal 39.399900 -8.224500 0 0 0 0 \n", + "Spain 40.463667 -3.749220 0 0 0 0 \n", + "US 40.000000 -100.000000 1 1 2 2 \n", + "Hong Kong 22.300000 114.200000 0 2 2 5 \n", + "France 46.227600 2.213700 0 0 2 3 \n", + "Netherlands 55.378100 5.291300 0 0 0 0 \n", + "United Kingdom 52.132600 3.436000 0 0 0 0 \n", + "China 30.975600 112.270700 548 643 920 1406 \n", + "\n", + " 1/26/20 1/27/20 1/28/20 1/29/20 ... 2/6/21 2/7/21 \\\n", + "Belgium 0 0 0 0 ... 723870 725610 \n", + "Germany 0 1 4 4 ... 2285003 2291673 \n", + "Iran 0 0 0 0 ... 1459370 1466435 \n", + "Italy 0 0 0 0 ... 2625098 2636738 \n", + "Japan 4 4 7 7 ... 404128 405765 \n", + "Korea, South 3 4 4 4 ... 80896 81185 \n", + "Portugal 0 0 0 0 ... 761906 765414 \n", + "Spain 0 0 0 0 ... 2941990 2941990 \n", + "US 5 5 5 6 ... 26917787 27007368 \n", + "Hong Kong 8 8 8 10 ... 10608 10635 \n", + "France 3 3 4 5 ... 3376266 3395981 \n", + "Netherlands 0 0 0 0 ... 1015757 1019720 \n", + "United Kingdom 0 0 0 0 ... 3941273 3957177 \n", + "China 2075 2877 5509 6087 ... 100348 100389 \n", + "\n", + " 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 \\\n", + "Belgium 726483 728334 730951 733100 735220 737115 \n", + "Germany 2296323 2302051 2311297 2321225 2330422 2336906 \n", + "Iran 1473756 1481396 1488981 1496455 1503753 1510873 \n", + "Italy 2644707 2655319 2668266 2683403 2697296 2710819 \n", + "Japan 406992 408550 410434 412125 413441 414803 \n", + "Korea, South 81487 81930 82434 82837 83199 83525 \n", + "Portugal 767919 770502 774889 778369 781223 784079 \n", + "Spain 2989085 3005487 3023601 3041454 3056035 3056035 \n", + "US 27097095 27192455 27287159 27392512 27492023 27575344 \n", + "Hong Kong 10667 10693 10710 10731 10755 10767 \n", + "France 3400324 3419210 3444888 3465964 3466629 3467051 \n", + "Netherlands 1021966 1023779 1027023 1031454 1035841 1040070 \n", + "United Kingdom 3971315 3983756 3996833 4010376 4025574 4038929 \n", + "China 100435 100475 100494 100527 100559 100578 \n", + "\n", + " 2/14/21 2/15/21 \n", + "Belgium 738631 739488 \n", + "Germany 2341744 2346876 \n", + "Iran 1518263 1526023 \n", + "Italy 2721879 2729223 \n", + "Japan 416154 417127 \n", + "Korea, South 83869 84325 \n", + "Portugal 785756 787059 \n", + "Spain 3056035 3086286 \n", + "US 27640282 27694165 \n", + "Hong Kong 10779 10788 \n", + "France 3467884 3528856 \n", + "Netherlands 1043541 1046381 \n", + "United Kingdom 4049920 4059696 \n", + "China 100599 100624 \n", + "\n", + "[14 rows x 393 columns]" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_selection12=data_selection3.append(data_Hong_Kong2)\n", + "data_selection13=data_selection12.append(data_selection5)\n", + "data_selection14=data_selection13.append(data_selection7)\n", + "data_selection15=data_selection14.append(data_selection9)\n", + "data_selection16=data_selection15.append(data_selection11)\n", + "data_selection16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# data_selection16 = pd.DataFrame(data_selection16,\n", + " index = ['Belgium','Germany','Iran','Italy','Japan','Korea, South','Portugal','Spain','US','Hong Kong','France','Netherlands','United Kingdom','China'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## représentation graphique de la situation du Covid19" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### choisir sa date d'observation entre le 26 janvier 2020 et la dernière mise à jour (mois/jour/année xx/xx/xx)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "entrée la date d'observation : 2/15/21\n" + ] + } + ], + "source": [ + "valeur = input(\"entrée la date d'observation : \")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(data=data_selection16)\n", + "data2 = {'Belgium': 677209,\n", + " 'Germany': 2038645,\n", + " 'Iran': 1324395,\n", + " 'Italy': 2368733,\n", + " 'Japan': 324942,\n", + " 'Korea, South': 72340,\n", + " 'Portugal': 539416,\n", + " 'Spain': 2252164,\n", + " 'US': 23758855,\n", + " 'Hong Kong': 9502,\n", + " 'France': 2931686,\n", + " 'Netherlands': 919712,\n", + " 'United Kingdom': 3367070,\n", + " 'China': 97775}\n", + "\n", + "group_data = list(df[valeur])\n", + "group_names = list(data2.keys())\n", + "group_mean = np.mean(group_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(0.0, 30000000.0),\n", + " Text(0.5, 0, 'nbre de personnes'),\n", + " Text(0, 0.5, 'pays/territoires'),\n", + " Text(0.5, 1.0, 'Cumul des contaminations au Covid19')]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArUAAAHoCAYAAABXWBf1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABMeElEQVR4nO3de3zP9f//8ft7h/fGxg5oDnMYc4rvQnwo50OSKVGG6Y0ORKlMNOdzs2n4oCzHtpaPsEaKSi0l+hBSqIQ5tRw25jSz8/v3Rx/vX8uh0ba3l92ul0uXy96vw/P1eL1e3nbv6fl6vkxWq9UqAAAAwMAc7F0AAAAA8E8RagEAAGB4hFoAAAAYHqEWAAAAhkeoBQAAgOERagEAAGB4hFoAdpWbm6t33nlHPXv2VPfu3dW1a1e98cYbysrKKvJjJyUlqXHjxn+73d69e9WhQ4cir+d2jB8/Xvv27SuUtk6fPq0+ffr8ozaeeeYZpaamSpIGDRqkQ4cOFUZpRe7777/Xs88+q+7du6tbt24aPHiwDhw4cNvtzZ07V2vXrr1meWpqqurWrZtvWVZWlp5++ml9+umntmVJSUl69tln9cgjj+iJJ57Qhg0bbrsWoKQg1AKwq8mTJ2v37t2KiYnRhx9+qLi4OB05ckTjxo2zd2mG8O2336qwphv38fHR+++//4/a2Lp1q+3nxYsXy9/f/5+WVeR27NihESNGKCQkRB9++KE+/vhjdevWTRaLxRbQb9Urr7yixx9//G+32717t4KCgrRr1658y0ePHq1GjRrpk08+UUxMjJYsWaL9+/ffVi1ASeFk7wIAlFy//fabPvroI23ZskXu7u6SpNKlS2vKlCnavXu3pD9+udeuXVvPPvvsNZ87dOigbt266auvvtL58+f10ksv6fvvv9dPP/0kJycnRUVFycfHRx06dNDcuXP1f//3f5Jk++zl5XXD2v7zn/8oJiZG7u7uqlOnTr51UVFR2rhxo/Ly8lSlShVNmjRJPj4+2rhxo6KiomQymeTo6KjXXntNzZo1u6bthQsXas2aNXJyclL16tUVHh6uMmXK6K233tL69evl6OgoPz8/TZgwQRUqVJDFYlGjRo30/fff6+TJk7r//vsVERGhuXPnKjk5WSNHjtTMmTNltVptvdwpKSl68MEHFRYWpqSkJA0YMEAtWrTQDz/8oJycHL322mtauXKlDh8+rIYNG2r27Nk6ceKEHn30Ue3evVvz58/X77//rpSUFP3+++/y9vbWnDlz5OPjo02bNmnhwoXKyspSamqqHn/8cQ0fPlxjxoyRJA0YMECLFi1Sv379bNd95cqVio2NlYODg8qXL68JEybIz89Po0ePlru7u3799VedOnVKNWvW1OzZs+Xm5qZ58+bp888/l7Ozs7y8vDRjxgzdc889+a7lkSNHNHXqVKWnpys5OVn16tXTv//9b7m4uKhu3br673//K29vb0m65vNV8+bN0wsvvKCGDRvalj322GNycXFRbm6uJF23/vLly6tt27b67LPPVKFCBUlSUFCQXnzxRX3yySe2P6cbN27UnDlzVKpUqXzHkKTY2FgNHz5cS5cuzbf8p59+Unh4uCTJ3d1dzZs31+eff6569erd8M8sUNLRUwvAbn7++Wf5+/vbAu1VFSpUUOfOnQvURmZmptatW6fRo0dr4sSJGjBggNatW6dKlSppzZo1t1XXL7/8ojfffFPvvfeePvjgAzk7O9vWrV27VgcOHNDq1av14Ycfqm3btho/frwkaebMmZo0aZLi4+P1yiuvaPv27de0nZCQoPj4eK1cuVIff/yxfH19bcf55ptvFBcXp48++ki1a9fW6NGjbfsdP35csbGxWrdunbZt26bvvvtOISEhuueeexQZGan77rtP7777rl5++WWtXr1a69ev15dffmkbmpCUlKQOHTpo/fr1atGihV5//XXNnj1b69ev186dO/XDDz9cU+vOnTs1d+5cffrppypbtqxWrlwpq9WqZcuWKTw83HYeixYtUmpqqmbMmCFJiomJUaVKlWzt/Pe//9WSJUv07rvvat26derWrZtefPFFWw/zvn37tHTpUm3YsEHJycn69NNPdfLkScXExOiDDz5QfHy8WrZsqT179lxT46pVq/T4449r5cqV2rhxo5KSkvTVV1/d0v3et2+fmjRpcs3yhx9+WBUqVLhh/e7u7nrooYe0bt06SVJiYqJSUlLUunVrWxtnzpzR2LFjNX/+fMXHx6tKlSr5jjF79my1a9fummMHBAQoPj5eVqtVqamp2rx5s1JSUm7pvICShlALwG4cHByUl5f3j9q4Gn6rVq2q8uXL23qyqlWrpgsXLtxWm//973/VsmVLW+9b7969bes2bdqkH3/8UU888YS6d++u9957T0eOHJEkBQYGatiwYRo3bpwuXryoQYMGXbftLl26yMPDQ5I0ZswYDR06VJs3b1bPnj1VunRpSVL//v21bds229ji9u3by8HBQe7u7qpevfp1zy08PFyXLl3S22+/rSlTpigjI0Pp6emSJGdnZ9u44GrVqqlx48Zyd3eXi4uL7rnnnuu2969//cv2Pxz33nuvLly4IJPJpLfffls//fST3nzzTYWHh8tqterKlSs3vJ7ffPONunbtaush7dmzp06fPq2kpCRJUuvWrWU2m+Xs7Kw6derowoUL8vHxUb169dSjRw9FRESofv366tSp0zVtjxo1St7e3lq8eLEmT56s5ORk2zkX1N/9ObxZ/b169bKNnf3ggw/Us2dPOTj8/1+tu3btUp06dWzDMP78Z+lmIiIilJiYqMcee0xjx45Vu3bt8v3PFYBrEWoB2E1AQIAOHz6stLS0fMtPnz6twYMHKyMjQyaTKd+Y0ezs7Hzbms1m2883+6X/5zb+7iG0vx7T0dHR9nNeXp6ee+45ffjhh/rwww/1wQcfaMWKFZKkkJAQrVixQg0bNlR8fLx69+59TVhydHSUyWSyfb548aKSkpKuGRebl5ennJwc22dXV9cb1ndVv3799PXXX6tmzZp68cUX5ePjY9vO2dk533ELEpCud8z09HT16NFDP/30k+6991699tprcnJyuum43uuts1qttvO73nEcHBz03nvvacaMGfL09FRYWJimT59+TTsjRozQqlWrVKVKFQ0cOFANGjS47vFuds8bNWqkH3/88ZrlU6ZMueGY5av1N23aVDk5OdqzZ48+/vhjPfHEE/m2++u9cnIq2Ki/jIwMzZgxQx999JHefvttpaWlqVq1agXaFyipCLUA7MbHx0ePPvqoxo4dawu2aWlpmjx5sjw9PeXq6iovLy/bP6GnpqZq586dt3wcb29vWxs//PDD3/4z7oMPPqitW7fq1KlTkpRvGEOrVq0UFxdnq3fu3Ll67bXXlJOTow4dOig9PV19+/bVpEmTlJiYmC+YXm37888/t+0/f/58RUdHq1WrVoqPj7f1MsbGxqpZs2b5Qvv1ODo6KicnRxcuXNC+ffs0cuRIde7cWadPn9bx48f/cU/4Xx07dkxpaWkaPny4OnTooO+++05ZWVm241yt589atWqlDRs22B66+uCDD+Tp6anq1avf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vOrWravly5dr9erVqlChgs6ePXvd41itVk2aNEk5OTmaOXOmHBz+yO4tW7bU1q1bZbFYVK9ePR08eFBpaWmaO3euqlSporfeektffPGFvL29deXKFb3yyivy8/PTyJEjZbVaVaFCBdsxtm7dqn//+99ycXGRp6enwsLC9Msvv2jRokVydnbWqVOn1KdPH23btk379+9X//79FRwcXPQXGQAAoAQqtlBrMpkkSSdOnNC6deuUlZWl1q1ba+jQobZthgwZogMHDmjYsGF644031KJFCwUHB+vo0aMaM2aM5s+fr3fffVcfffSRTCaTevbsed1jLVy4UH5+fnJ0dLQd968CAgI0btw4zZkzR+vXr1ebNm30zTffKC4uTtnZ2Xr00UclSW+//ba6deumoKAgbdiwQStWrJDVatWECRO0YsUK+fj4KCYmRlFRUWrXrp1OnTqltWvX6qefftIrr7yizz//XKdPn9awYcMItQAAAEWk0IcfuLq6KisrK9+y9PR0ubi4SJLq1KkjJycnlS5dWq6urjds58CBA/rggw9ksVg0YcIEXbhwQcePH5e/v7/MZrOcnZ0VEBBw3X07duyo6Ohoubm5KSoq6rrb3HvvvZKkihUrKjMzU4mJifq///s/OTo6ytXVVQ0bNpQkHT161HacJk2aSJLOnTsnd3d3+fj4SJKaNWumgwcPSpJq164tZ2dnlSlTRtWqVZPZbJaHh4cyMzMLdP0AAABw6wo91NaqVUu//PKLkpOTJUmZmZnasWOHGjRoIEk37DmVJAcHB+Xl5UmSatasqYEDByo2Nlb//ve/9dhjj6lGjRo6dOiQMjIylJubq19++eW67dSuXVuSNG3aNMXFxV3zMNn1+Pv7a+/evcrLy1NWVpZ+/vln2/ns3r1bkrR3715JkpeXl9LS0mzn+N1336lGjRp/e34AAAAoGoU+/MDd3V2jR4/W888/L1dXV2VnZ8tisah69eo6derUTfctV66csrOz9cYbb2jIkCEaN26cVq1apbS0NA0bNkze3t4aNGiQ+vTpI29vb5UqVeqm7Xl4eCgiIkKvvvrqTWdfkKS6deuqbdu2CgoKkpeXl5ydneXk5KShQ4dq1KhR2rBhg3x9fSX9EVynT5+ul156SSaTSR4eHpoxY4attxYAAADFy2S1Wq32LuJOcPbsWX366afq16+fsrKyFBgY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c+ZMnTlzRq+++qp++OEHmc1mVa9eXcnJyfY+BQAAgBKpQKG2a9eu6tu3r+677z7t2bNHXbt2Leq67Gbo0KEaOnRovmUxMTEaMWKEatWqZVvm5eV13VkRwsPDr1nm4uKiL7/8svCLBQAAgKQChtr+/furVatWOnz4sJ588klVrFixqOsCAAAACuymY2pTUlJ05MgRBQcHy2w2q27dunJ0dNQzzzxTXPXdEWJjY/P10gIAAODOctOe2h9//FExMTE6cuSIJkyYIElycHBQq1atiqU4AAAAoCBuGmo7deqkTp066euvv1bbtm2LqyYAAADgltw01C5YsEAvvPCCPvzww2seipo1a1aRFgYAAAAU1E1DbYcOHST9MftB2bJli6UgAAAA4FbdNNRefSPW0qVLtWLFimIpqKTZEtpevr6+9i4DAADA0Ao0pZeHh4diYmLk5+cnB4c/JkzgYTEAAADcKQoUar28vLR//37t37/ftoxQCwAAgDtFgXtqR48eXdS1AAAAALflpi9fuOrQoUO6ePFiUdcCAAAA3JYC9dQmJiaqefPm8vLyso2p3bJlS5EWBgAAABRUgULtpk2birqOEqtVxCbJzfu29j0aHljI1QAAABhTgULtwYMHNWnSJF28eFGPPfaYateurfbt2xd1bQAAAECBFGhM7fTp0zVjxgx5eXnpySef1Pz584u6LgAAAKDAChRqJal69eoymUzy9vaWm5tbUdYEAAAA3JIChVoPDw+9//77unLlitavX88rcwEAAHBHKVCoDQsLU1JSkry8vLRv3z6FhYUVdV0AAABAgRXoQbF3331XI0eOtH2eNWuWXn311SIrCgAAALgVNw21q1evVlxcnBITE7V582ZJUl5enrKzswm1AAAAuGPcNNR2795dDz74oN5++20NGTJEkuTg4KBy5coVS3H/1Pbt2zV8+HD5+/tLkjIzM/Xoo4/KYrH87b6//vqrLl68qGbNmhVKLS1bttTWrVsLpS0AAADkd9NQ+/LLL6tKlSp66KGHVKFCBZnN5uKqq9C0aNFCc+bMkSRlZWWpS5cu6t69+98+7LZx40aVL1++0EItAAAAis5NQ+3bb7+tkydPatOmTRo1apQcHR31wAMPqG3btrrnnnuKq8ZCk5aWJgcHBx04cECzZs2So6OjXFxcNG3aNOXl5Wno0KHy9PRU8+bNtWbN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lWXt1KmT9fz589bMzExrz549rSkpKXaq8u53o/tgtVqtr776qnXv3r12qKrkiYuLs06fPt1qtVqt586ds7Zt29a2ju9E8brZvbBa+V4Ul88//9w6evRoq9VqtW7bti3f7+zb+U7QU1tIdu3apdatW0uSGjVqpH379tnW7dmzR40bN5bZbFaZMmVUrVo17d+/316l3tVudh/y8vJ07NgxTZw4UX369FFcXJy9yiwxqlWrpvnz51+zPDExUdWqVZOHh4fMZrPuv/9+7dixww4Vlgw3ug+S9NNPP2nRokXq27evFi5cWMyVlSxdunTRK6+8IkmyWq35Zr7hO1G8bnYvJL4XxaVTp06aNm2aJOnEiRMqW7asbd3tfCeYp7aQpKWlyd3d3fbZ0dFROTk5cnJyUlpamsqUKWNb5+bmprS0NHuUede72X1IT0/XU089paefflq5ubnq37+/GjZsqHr16tmx4rvbww8/rKSkpGuW850oXje6D5IUGBio4OBgubu7a9iwYdq0aZPat29fzBWWDG5ubpL++PP/8ssva/jw4bZ1fCeK183uhcT3ojg5OTkpNDRUn3/+uebNm2dbfjvfCXpqC4m7u7suX75s+5yXlycnJ6frrrt8+XK+G4XCc7P7UKpUKfXv31+lSpWSu7u7WrRoQY+5nfCduDNYrVYNGDBA3t7eMpvNatu2rX7++Wd7l3VXO3nypPr376/u3bvr0UcftS3nO1H8bnQv+F4Uv4iICH322WeaMGGC0tPTJd3ed4JQW0iaNGmizZs3S5J++OEH1alTx7YuICBAu3btUmZmpi5duqTExMR861F4bnYfjh49qr59+yo3N1fZ2dn6/vvv1aBBA3uVWqLVqlVLx44d0/nz55WVlaWdO3eqcePG9i6rxElLS1O3bt10+fJlWa1Wbd++XQ0bNrR3WXetM2fO6JlnntGoUaP05JNP5lvHd6J43exe8L0oPmvXrrUN7yhVqpRMJpMcHP6IprfznWD4QSF56KGHtHXrVvXp00dWq1VhYWF65513VK1aNXXs2FEWi0XBwcGyWq0KCQmRi4uLvUu+K/3dfejevbuCgoLk7Oys7t27q3bt2vYuuUT56KOPlJ6ert69e2v06NF69tlnZbVa9cQTT8jHx8fe5ZUYf74PISEh6t+/v8xmsx544AG1bdvW3uXdtd5++21dvHhRCxYs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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.style.use('seaborn-white')\n", + "fig, ax = plt.subplots(figsize=(10.6,8))\n", + "ax.barh(group_names, group_data)\n", + "labels = ax.get_xticklabels()\n", + "plt.setp(labels, horizontalalignment='right')\n", + "ax.set(xlim=[0, 30000000], xlabel='nbre de personnes', ylabel='pays/territoires',\n", + " title='Total des contaminations au Covid19')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For publications that use the data, please cite the following publication: \"Dong E, Du H, Gardner L. An interactive web-based dashboard to track COVID-19 in real time. Lancet Inf Dis. 20(5):533-534. doi: 10.1016/S1473-3099(20)30120-1\"\n", + "\n", + "https://github.com/CSSEGISandData/COVID-19/blob/master/README.md" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +4524,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.8.5" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } - -- 2.18.1