{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Sujet 7 : Autour du SARS-CoV-2 (Covid-19)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analyse rapide des donnees recuperees\n",
"Imports des packages necessaires a l'analyse"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"## import\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"#import isoweek\n",
"import datetime\n",
"import os.path\n",
"from urllib.request import urlretrieve\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour cette analyse, nous utiliserons les données compilées par le Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE) mises à disposition sur GitHub, plus particulièrement les données __time_series_covid19_confirmed_global.csv__\n",
"\n",
"Ces donnees sont disponibles aussi à 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.\n",
"\n",
"Nous commencons par recuperer une version \"recente\" des donnees dont nous recuperons copie en local si elle n'existe pas.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"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\" \n",
"data_local = \"time_series_covid19_confirmed_global.csv\"\n",
"if not os.path.isfile(data_local):\n",
" urlretrieve(data_url, data_local)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1ere visualisation des donnees : \n",
"chaque pays/province est indiquee en ligne avec le nombre de cummule par jour en colonne"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" NaN \n",
" Afghanistan \n",
" 33.939110 \n",
" 67.709953 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 209322 \n",
" 209340 \n",
" 209358 \n",
" 209362 \n",
" 209369 \n",
" 209390 \n",
" 209406 \n",
" 209436 \n",
" 209451 \n",
" 209451 \n",
" \n",
" \n",
" 1 \n",
" NaN \n",
" Albania \n",
" 41.153300 \n",
" 20.168300 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 334391 \n",
" 334408 \n",
" 334408 \n",
" 334427 \n",
" 334427 \n",
" 334427 \n",
" 334427 \n",
" 334427 \n",
" 334443 \n",
" 334457 \n",
" \n",
" \n",
" 2 \n",
" NaN \n",
" Algeria \n",
" 28.033900 \n",
" 1.659600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 271441 \n",
" 271448 \n",
" 271463 \n",
" 271469 \n",
" 271469 \n",
" 271477 \n",
" 271477 \n",
" 271490 \n",
" 271494 \n",
" 271496 \n",
" \n",
" \n",
" 3 \n",
" NaN \n",
" Andorra \n",
" 42.506300 \n",
" 1.521800 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 47866 \n",
" 47875 \n",
" 47875 \n",
" 47875 \n",
" 47875 \n",
" 47875 \n",
" 47875 \n",
" 47875 \n",
" 47890 \n",
" 47890 \n",
" \n",
" \n",
" 4 \n",
" NaN \n",
" Angola \n",
" -11.202700 \n",
" 17.873900 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 105255 \n",
" 105277 \n",
" 105277 \n",
" 105277 \n",
" 105277 \n",
" 105277 \n",
" 105277 \n",
" 105277 \n",
" 105288 \n",
" 105288 \n",
" \n",
" \n",
" 5 \n",
" NaN \n",
" Antarctica \n",
" -71.949900 \n",
" 23.347000 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" 11 \n",
" \n",
" \n",
" 6 \n",
" NaN \n",
" Antigua and Barbuda \n",
" 17.060800 \n",
" -61.796400 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" 9106 \n",
" \n",
" \n",
" 7 \n",
" NaN \n",
" Argentina \n",
" -38.416100 \n",
" -63.616700 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 10044125 \n",
" 10044125 \n",
" 10044125 \n",
" 10044125 \n",
" 10044125 \n",
" 10044125 \n",
" 10044957 \n",
" 10044957 \n",
" 10044957 \n",
" 10044957 \n",
" \n",
" \n",
" 8 \n",
" NaN \n",
" Armenia \n",
" 40.069100 \n",
" 45.038200 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 446819 \n",
" 446819 \n",
" 446819 \n",
" 446819 \n",
" 446819 \n",
" 446819 \n",
" 446819 \n",
" 446819 \n",
" 447308 \n",
" 447308 \n",
" \n",
" \n",
" 9 \n",
" Australian Capital Territory \n",
" Australia \n",
" -35.473500 \n",
" 149.012400 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 232018 \n",
" 232018 \n",
" 232619 \n",
" 232619 \n",
" 232619 \n",
" 232619 \n",
" 232619 \n",
" 232619 \n",
" 232619 \n",
" 232974 \n",
" \n",
" \n",
" 10 \n",
" New South Wales \n",
" Australia \n",
" -33.868800 \n",
" 151.209300 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 3 \n",
" 4 \n",
" ... \n",
" 3900969 \n",
" 3900969 \n",
" 3908129 \n",
" 3908129 \n",
" 3908129 \n",
" 3908129 \n",
" 3908129 \n",
" 3908129 \n",
" 3908129 \n",
" 3915992 \n",
" \n",
" \n",
" 11 \n",
" Northern Territory \n",
" Australia \n",
" -12.463400 \n",
" 130.845600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 104931 \n",
" 104931 \n",
" 105021 \n",
" 105021 \n",
" 105021 \n",
" 105021 \n",
" 105021 \n",
" 105021 \n",
" 105021 \n",
" 105111 \n",
" \n",
" \n",
" 12 \n",
" Queensland \n",
" Australia \n",
" -27.469800 \n",
" 153.025100 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1796633 \n",
" 1796633 \n",
" 1800236 \n",
" 1800236 \n",
" 1800236 \n",
" 1800236 \n",
" 1800236 \n",
" 1800236 \n",
" 1800236 \n",
" 1800236 \n",
" \n",
" \n",
" 13 \n",
" South Australia \n",
" Australia \n",
" -34.928500 \n",
" 138.600700 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 880207 \n",
" 880207 \n",
" 881911 \n",
" 881911 \n",
" 881911 \n",
" 881911 \n",
" 881911 \n",
" 881911 \n",
" 881911 \n",
" 883620 \n",
" \n",
" \n",
" 14 \n",
" Tasmania \n",
" Australia \n",
" -42.882100 \n",
" 147.327200 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 286264 \n",
" 286264 \n",
" 286264 \n",
" 286897 \n",
" 286897 \n",
" 286897 \n",
" 286897 \n",
" 286897 \n",
" 286897 \n",
" 287507 \n",
" \n",
" \n",
" 15 \n",
" Victoria \n",
" Australia \n",
" -37.813600 \n",
" 144.963100 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 1 \n",
" ... \n",
" 2874262 \n",
" 2874262 \n",
" 2877260 \n",
" 2877260 \n",
" 2877260 \n",
" 2877260 \n",
" 2877260 \n",
" 2877260 \n",
" 2877260 \n",
" 2880559 \n",
" \n",
" \n",
" 16 \n",
" Western Australia \n",
" Australia \n",
" -31.950500 \n",
" 115.860500 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1291077 \n",
" 1291077 \n",
" 1293461 \n",
" 1293461 \n",
" 1293461 \n",
" 1293461 \n",
" 1293461 \n",
" 1293461 \n",
" 1293461 \n",
" 1293461 \n",
" \n",
" \n",
" 17 \n",
" NaN \n",
" Austria \n",
" 47.516200 \n",
" 14.550100 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 5911294 \n",
" 5919616 \n",
" 5926148 \n",
" 5931247 \n",
" 5936666 \n",
" 5940935 \n",
" 5943417 \n",
" 5949418 \n",
" 5955860 \n",
" 5961143 \n",
" \n",
" \n",
" 18 \n",
" NaN \n",
" Azerbaijan \n",
" 40.143100 \n",
" 47.576900 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 828548 \n",
" 828588 \n",
" 828628 \n",
" 828648 \n",
" 828682 \n",
" 828721 \n",
" 828730 \n",
" 828783 \n",
" 828819 \n",
" 828825 \n",
" \n",
" \n",
" 19 \n",
" NaN \n",
" Bahamas \n",
" 25.025885 \n",
" -78.035889 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" 37491 \n",
" \n",
" \n",
" 20 \n",
" NaN \n",
" Bahrain \n",
" 26.027500 \n",
" 50.550000 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 707480 \n",
" 707828 \n",
" 708061 \n",
" 708532 \n",
" 708768 \n",
" 709230 \n",
" 709230 \n",
" 709858 \n",
" 710306 \n",
" 710693 \n",
" \n",
" \n",
" 21 \n",
" NaN \n",
" Bangladesh \n",
" 23.685000 \n",
" 90.356300 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 2037773 \n",
" 2037829 \n",
" 2037829 \n",
" 2037829 \n",
" 2037829 \n",
" 2037829 \n",
" 2037829 \n",
" 2037829 \n",
" 2037871 \n",
" 2037871 \n",
" \n",
" \n",
" 22 \n",
" NaN \n",
" Barbados \n",
" 13.193900 \n",
" -59.543200 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106645 \n",
" 106798 \n",
" \n",
" \n",
" 23 \n",
" NaN \n",
" Belarus \n",
" 53.709800 \n",
" 27.953400 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" 994037 \n",
" \n",
" \n",
" 24 \n",
" NaN \n",
" Belgium \n",
" 50.833300 \n",
" 4.469936 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 4717655 \n",
" 4717655 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4739365 \n",
" \n",
" \n",
" 25 \n",
" NaN \n",
" Belize \n",
" 17.189900 \n",
" -88.497600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" 70757 \n",
" \n",
" \n",
" 26 \n",
" NaN \n",
" Benin \n",
" 9.307700 \n",
" 2.315800 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 27990 \n",
" 27990 \n",
" 27990 \n",
" 27990 \n",
" 27990 \n",
" 27990 \n",
" 27990 \n",
" 27999 \n",
" 27999 \n",
" 27999 \n",
" \n",
" \n",
" 27 \n",
" NaN \n",
" Bhutan \n",
" 27.514200 \n",
" 90.433600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 62615 \n",
" 62620 \n",
" 62620 \n",
" 62620 \n",
" 62620 \n",
" 62620 \n",
" 62620 \n",
" 62620 \n",
" 62627 \n",
" 62627 \n",
" \n",
" \n",
" 28 \n",
" NaN \n",
" Bolivia \n",
" -16.290200 \n",
" -63.588700 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1193009 \n",
" 1193256 \n",
" 1193418 \n",
" 1193650 \n",
" 1193815 \n",
" 1193908 \n",
" 1193970 \n",
" 1194069 \n",
" 1194187 \n",
" 1194277 \n",
" \n",
" \n",
" 29 \n",
" NaN \n",
" Bosnia and Herzegovina \n",
" 43.915900 \n",
" 17.679100 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 401575 \n",
" 401636 \n",
" 401636 \n",
" 401636 \n",
" 401636 \n",
" 401636 \n",
" 401636 \n",
" 401636 \n",
" 401729 \n",
" 401729 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 259 \n",
" NaN \n",
" Tuvalu \n",
" -7.109500 \n",
" 177.649300 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" 2805 \n",
" \n",
" \n",
" 260 \n",
" NaN \n",
" US \n",
" 40.000000 \n",
" -100.000000 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 2 \n",
" 5 \n",
" 5 \n",
" ... \n",
" 103443455 \n",
" 103533872 \n",
" 103589757 \n",
" 103648690 \n",
" 103650837 \n",
" 103646975 \n",
" 103655539 \n",
" 103690910 \n",
" 103755771 \n",
" 103802702 \n",
" \n",
" \n",
" 261 \n",
" NaN \n",
" Uganda \n",
" 1.373333 \n",
" 32.290275 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 170504 \n",
" 170504 \n",
" 170504 \n",
" 170504 \n",
" 170504 \n",
" 170504 \n",
" 170504 \n",
" 170504 \n",
" 170544 \n",
" 170544 \n",
" \n",
" \n",
" 262 \n",
" NaN \n",
" Ukraine \n",
" 48.379400 \n",
" 31.165600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 5693846 \n",
" 5701249 \n",
" 5701333 \n",
" 5701474 \n",
" 5701602 \n",
" 5701743 \n",
" 5701855 \n",
" 5701959 \n",
" 5711818 \n",
" 5711929 \n",
" \n",
" \n",
" 263 \n",
" NaN \n",
" United Arab Emirates \n",
" 23.424076 \n",
" 53.847818 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1051998 \n",
" 1052122 \n",
" 1052247 \n",
" 1052382 \n",
" 1052519 \n",
" 1052664 \n",
" 1052664 \n",
" 1052926 \n",
" 1053068 \n",
" 1053213 \n",
" \n",
" \n",
" 264 \n",
" Anguilla \n",
" United Kingdom \n",
" 18.220600 \n",
" -63.068600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" 3904 \n",
" \n",
" \n",
" 265 \n",
" Bermuda \n",
" United Kingdom \n",
" 32.307800 \n",
" -64.750500 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 18799 \n",
" 18814 \n",
" 18814 \n",
" 18814 \n",
" 18814 \n",
" 18814 \n",
" 18814 \n",
" 18814 \n",
" 18828 \n",
" 18828 \n",
" \n",
" \n",
" 266 \n",
" British Virgin Islands \n",
" United Kingdom \n",
" 18.420700 \n",
" -64.640000 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" 7305 \n",
" \n",
" \n",
" 267 \n",
" Cayman Islands \n",
" United Kingdom \n",
" 19.313300 \n",
" -81.254600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" 31472 \n",
" \n",
" \n",
" 268 \n",
" Channel Islands \n",
" United Kingdom \n",
" 49.372300 \n",
" -2.364400 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 269 \n",
" Falkland Islands (Malvinas) \n",
" United Kingdom \n",
" -51.796300 \n",
" -59.523600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" 1930 \n",
" \n",
" \n",
" 270 \n",
" Gibraltar \n",
" United Kingdom \n",
" 36.140800 \n",
" -5.353600 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 20423 \n",
" 20423 \n",
" 20423 \n",
" 20433 \n",
" 20433 \n",
" 20433 \n",
" 20433 \n",
" 20433 \n",
" 20433 \n",
" 20433 \n",
" \n",
" \n",
" 271 \n",
" Guernsey \n",
" United Kingdom \n",
" 49.448196 \n",
" -2.589490 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 34867 \n",
" 34929 \n",
" 34929 \n",
" 34929 \n",
" 34929 \n",
" 34929 \n",
" 34929 \n",
" 34929 \n",
" 34991 \n",
" 34991 \n",
" \n",
" \n",
" 272 \n",
" Isle of Man \n",
" United Kingdom \n",
" 54.236100 \n",
" -4.548100 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" 38008 \n",
" \n",
" \n",
" 273 \n",
" Jersey \n",
" United Kingdom \n",
" 49.213800 \n",
" -2.135800 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" 66391 \n",
" \n",
" \n",
" 274 \n",
" Montserrat \n",
" United Kingdom \n",
" 16.742498 \n",
" -62.187366 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" 1403 \n",
" \n",
" \n",
" 275 \n",
" Pitcairn Islands \n",
" United Kingdom \n",
" -24.376800 \n",
" -128.324200 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" 4 \n",
" \n",
" \n",
" 276 \n",
" Saint Helena, Ascension and Tristan da Cunha \n",
" United Kingdom \n",
" -7.946700 \n",
" -14.355900 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" 2166 \n",
" \n",
" \n",
" 277 \n",
" Turks and Caicos Islands \n",
" United Kingdom \n",
" 21.694000 \n",
" -71.797900 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 6551 \n",
" 6551 \n",
" 6551 \n",
" 6551 \n",
" 6551 \n",
" 6551 \n",
" 6551 \n",
" 6557 \n",
" 6557 \n",
" 6561 \n",
" \n",
" \n",
" 278 \n",
" NaN \n",
" United Kingdom \n",
" 55.378100 \n",
" -3.436000 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 24370150 \n",
" 24370150 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24425309 \n",
" \n",
" \n",
" 279 \n",
" NaN \n",
" Uruguay \n",
" -32.522800 \n",
" -55.765800 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" 1034303 \n",
" \n",
" \n",
" 280 \n",
" NaN \n",
" Uzbekistan \n",
" 41.377491 \n",
" 64.585262 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 250932 \n",
" 251071 \n",
" 251071 \n",
" 251071 \n",
" 251071 \n",
" 251071 \n",
" 251071 \n",
" 251071 \n",
" 251247 \n",
" 251247 \n",
" \n",
" \n",
" 281 \n",
" NaN \n",
" Vanuatu \n",
" -15.376700 \n",
" 166.959200 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" 12014 \n",
" \n",
" \n",
" 282 \n",
" NaN \n",
" Venezuela \n",
" 6.423800 \n",
" -66.589700 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 551981 \n",
" 551986 \n",
" 551986 \n",
" 552014 \n",
" 552051 \n",
" 552051 \n",
" 552125 \n",
" 552157 \n",
" 552157 \n",
" 552162 \n",
" \n",
" \n",
" 283 \n",
" NaN \n",
" Vietnam \n",
" 14.058324 \n",
" 108.277199 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" ... \n",
" 11526917 \n",
" 11526926 \n",
" 11526937 \n",
" 11526950 \n",
" 11526962 \n",
" 11526966 \n",
" 11526966 \n",
" 11526986 \n",
" 11526994 \n",
" 11526994 \n",
" \n",
" \n",
" 284 \n",
" NaN \n",
" West Bank and Gaza \n",
" 31.952200 \n",
" 35.233200 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" 703228 \n",
" \n",
" \n",
" 285 \n",
" NaN \n",
" Winter Olympics 2022 \n",
" 39.904200 \n",
" 116.407400 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" 535 \n",
" \n",
" \n",
" 286 \n",
" NaN \n",
" Yemen \n",
" 15.552727 \n",
" 48.516388 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" 11945 \n",
" \n",
" \n",
" 287 \n",
" NaN \n",
" Zambia \n",
" -13.133897 \n",
" 27.849332 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 343012 \n",
" 343012 \n",
" 343079 \n",
" 343079 \n",
" 343079 \n",
" 343135 \n",
" 343135 \n",
" 343135 \n",
" 343135 \n",
" 343135 \n",
" \n",
" \n",
" 288 \n",
" NaN \n",
" Zimbabwe \n",
" -19.015438 \n",
" 29.154857 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 263921 \n",
" 264127 \n",
" 264127 \n",
" 264127 \n",
" 264127 \n",
" 264127 \n",
" 264127 \n",
" 264127 \n",
" 264276 \n",
" 264276 \n",
" \n",
" \n",
"
\n",
"
289 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region \\\n",
"0 NaN Afghanistan \n",
"1 NaN Albania \n",
"2 NaN Algeria \n",
"3 NaN Andorra \n",
"4 NaN Angola \n",
"5 NaN Antarctica \n",
"6 NaN Antigua and Barbuda \n",
"7 NaN Argentina \n",
"8 NaN Armenia \n",
"9 Australian Capital Territory Australia \n",
"10 New South Wales Australia \n",
"11 Northern Territory Australia \n",
"12 Queensland Australia \n",
"13 South Australia Australia \n",
"14 Tasmania Australia \n",
"15 Victoria Australia \n",
"16 Western Australia Australia \n",
"17 NaN Austria \n",
"18 NaN Azerbaijan \n",
"19 NaN Bahamas \n",
"20 NaN Bahrain \n",
"21 NaN Bangladesh \n",
"22 NaN Barbados \n",
"23 NaN Belarus \n",
"24 NaN Belgium \n",
"25 NaN Belize \n",
"26 NaN Benin \n",
"27 NaN Bhutan \n",
"28 NaN Bolivia \n",
"29 NaN Bosnia and Herzegovina \n",
".. ... ... \n",
"259 NaN Tuvalu \n",
"260 NaN US \n",
"261 NaN Uganda \n",
"262 NaN Ukraine \n",
"263 NaN United Arab Emirates \n",
"264 Anguilla United Kingdom \n",
"265 Bermuda United Kingdom \n",
"266 British Virgin Islands United Kingdom \n",
"267 Cayman Islands United Kingdom \n",
"268 Channel Islands United Kingdom \n",
"269 Falkland Islands (Malvinas) United Kingdom \n",
"270 Gibraltar United Kingdom \n",
"271 Guernsey United Kingdom \n",
"272 Isle of Man United Kingdom \n",
"273 Jersey United Kingdom \n",
"274 Montserrat United Kingdom \n",
"275 Pitcairn Islands United Kingdom \n",
"276 Saint Helena, Ascension and Tristan da Cunha United Kingdom \n",
"277 Turks and Caicos Islands United Kingdom \n",
"278 NaN United Kingdom \n",
"279 NaN Uruguay \n",
"280 NaN Uzbekistan \n",
"281 NaN Vanuatu \n",
"282 NaN Venezuela \n",
"283 NaN Vietnam \n",
"284 NaN West Bank and Gaza \n",
"285 NaN Winter Olympics 2022 \n",
"286 NaN Yemen \n",
"287 NaN Zambia \n",
"288 NaN Zimbabwe \n",
"\n",
" Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 \\\n",
"0 33.939110 67.709953 0 0 0 0 0 \n",
"1 41.153300 20.168300 0 0 0 0 0 \n",
"2 28.033900 1.659600 0 0 0 0 0 \n",
"3 42.506300 1.521800 0 0 0 0 0 \n",
"4 -11.202700 17.873900 0 0 0 0 0 \n",
"5 -71.949900 23.347000 0 0 0 0 0 \n",
"6 17.060800 -61.796400 0 0 0 0 0 \n",
"7 -38.416100 -63.616700 0 0 0 0 0 \n",
"8 40.069100 45.038200 0 0 0 0 0 \n",
"9 -35.473500 149.012400 0 0 0 0 0 \n",
"10 -33.868800 151.209300 0 0 0 0 3 \n",
"11 -12.463400 130.845600 0 0 0 0 0 \n",
"12 -27.469800 153.025100 0 0 0 0 0 \n",
"13 -34.928500 138.600700 0 0 0 0 0 \n",
"14 -42.882100 147.327200 0 0 0 0 0 \n",
"15 -37.813600 144.963100 0 0 0 0 1 \n",
"16 -31.950500 115.860500 0 0 0 0 0 \n",
"17 47.516200 14.550100 0 0 0 0 0 \n",
"18 40.143100 47.576900 0 0 0 0 0 \n",
"19 25.025885 -78.035889 0 0 0 0 0 \n",
"20 26.027500 50.550000 0 0 0 0 0 \n",
"21 23.685000 90.356300 0 0 0 0 0 \n",
"22 13.193900 -59.543200 0 0 0 0 0 \n",
"23 53.709800 27.953400 0 0 0 0 0 \n",
"24 50.833300 4.469936 0 0 0 0 0 \n",
"25 17.189900 -88.497600 0 0 0 0 0 \n",
"26 9.307700 2.315800 0 0 0 0 0 \n",
"27 27.514200 90.433600 0 0 0 0 0 \n",
"28 -16.290200 -63.588700 0 0 0 0 0 \n",
"29 43.915900 17.679100 0 0 0 0 0 \n",
".. ... ... ... ... ... ... ... \n",
"259 -7.109500 177.649300 0 0 0 0 0 \n",
"260 40.000000 -100.000000 1 1 2 2 5 \n",
"261 1.373333 32.290275 0 0 0 0 0 \n",
"262 48.379400 31.165600 0 0 0 0 0 \n",
"263 23.424076 53.847818 0 0 0 0 0 \n",
"264 18.220600 -63.068600 0 0 0 0 0 \n",
"265 32.307800 -64.750500 0 0 0 0 0 \n",
"266 18.420700 -64.640000 0 0 0 0 0 \n",
"267 19.313300 -81.254600 0 0 0 0 0 \n",
"268 49.372300 -2.364400 0 0 0 0 0 \n",
"269 -51.796300 -59.523600 0 0 0 0 0 \n",
"270 36.140800 -5.353600 0 0 0 0 0 \n",
"271 49.448196 -2.589490 0 0 0 0 0 \n",
"272 54.236100 -4.548100 0 0 0 0 0 \n",
"273 49.213800 -2.135800 0 0 0 0 0 \n",
"274 16.742498 -62.187366 0 0 0 0 0 \n",
"275 -24.376800 -128.324200 0 0 0 0 0 \n",
"276 -7.946700 -14.355900 0 0 0 0 0 \n",
"277 21.694000 -71.797900 0 0 0 0 0 \n",
"278 55.378100 -3.436000 0 0 0 0 0 \n",
"279 -32.522800 -55.765800 0 0 0 0 0 \n",
"280 41.377491 64.585262 0 0 0 0 0 \n",
"281 -15.376700 166.959200 0 0 0 0 0 \n",
"282 6.423800 -66.589700 0 0 0 0 0 \n",
"283 14.058324 108.277199 0 2 2 2 2 \n",
"284 31.952200 35.233200 0 0 0 0 0 \n",
"285 39.904200 116.407400 0 0 0 0 0 \n",
"286 15.552727 48.516388 0 0 0 0 0 \n",
"287 -13.133897 27.849332 0 0 0 0 0 \n",
"288 -19.015438 29.154857 0 0 0 0 0 \n",
"\n",
" 1/27/20 ... 2/28/23 3/1/23 3/2/23 3/3/23 \\\n",
"0 0 ... 209322 209340 209358 209362 \n",
"1 0 ... 334391 334408 334408 334427 \n",
"2 0 ... 271441 271448 271463 271469 \n",
"3 0 ... 47866 47875 47875 47875 \n",
"4 0 ... 105255 105277 105277 105277 \n",
"5 0 ... 11 11 11 11 \n",
"6 0 ... 9106 9106 9106 9106 \n",
"7 0 ... 10044125 10044125 10044125 10044125 \n",
"8 0 ... 446819 446819 446819 446819 \n",
"9 0 ... 232018 232018 232619 232619 \n",
"10 4 ... 3900969 3900969 3908129 3908129 \n",
"11 0 ... 104931 104931 105021 105021 \n",
"12 0 ... 1796633 1796633 1800236 1800236 \n",
"13 0 ... 880207 880207 881911 881911 \n",
"14 0 ... 286264 286264 286264 286897 \n",
"15 1 ... 2874262 2874262 2877260 2877260 \n",
"16 0 ... 1291077 1291077 1293461 1293461 \n",
"17 0 ... 5911294 5919616 5926148 5931247 \n",
"18 0 ... 828548 828588 828628 828648 \n",
"19 0 ... 37491 37491 37491 37491 \n",
"20 0 ... 707480 707828 708061 708532 \n",
"21 0 ... 2037773 2037829 2037829 2037829 \n",
"22 0 ... 106645 106645 106645 106645 \n",
"23 0 ... 994037 994037 994037 994037 \n",
"24 0 ... 4717655 4717655 4727795 4727795 \n",
"25 0 ... 70757 70757 70757 70757 \n",
"26 0 ... 27990 27990 27990 27990 \n",
"27 0 ... 62615 62620 62620 62620 \n",
"28 0 ... 1193009 1193256 1193418 1193650 \n",
"29 0 ... 401575 401636 401636 401636 \n",
".. ... ... ... ... ... ... \n",
"259 0 ... 2805 2805 2805 2805 \n",
"260 5 ... 103443455 103533872 103589757 103648690 \n",
"261 0 ... 170504 170504 170504 170504 \n",
"262 0 ... 5693846 5701249 5701333 5701474 \n",
"263 0 ... 1051998 1052122 1052247 1052382 \n",
"264 0 ... 3904 3904 3904 3904 \n",
"265 0 ... 18799 18814 18814 18814 \n",
"266 0 ... 7305 7305 7305 7305 \n",
"267 0 ... 31472 31472 31472 31472 \n",
"268 0 ... 0 0 0 0 \n",
"269 0 ... 1930 1930 1930 1930 \n",
"270 0 ... 20423 20423 20423 20433 \n",
"271 0 ... 34867 34929 34929 34929 \n",
"272 0 ... 38008 38008 38008 38008 \n",
"273 0 ... 66391 66391 66391 66391 \n",
"274 0 ... 1403 1403 1403 1403 \n",
"275 0 ... 4 4 4 4 \n",
"276 0 ... 2166 2166 2166 2166 \n",
"277 0 ... 6551 6551 6551 6551 \n",
"278 0 ... 24370150 24370150 24396530 24396530 \n",
"279 0 ... 1034303 1034303 1034303 1034303 \n",
"280 0 ... 250932 251071 251071 251071 \n",
"281 0 ... 12014 12014 12014 12014 \n",
"282 0 ... 551981 551986 551986 552014 \n",
"283 2 ... 11526917 11526926 11526937 11526950 \n",
"284 0 ... 703228 703228 703228 703228 \n",
"285 0 ... 535 535 535 535 \n",
"286 0 ... 11945 11945 11945 11945 \n",
"287 0 ... 343012 343012 343079 343079 \n",
"288 0 ... 263921 264127 264127 264127 \n",
"\n",
" 3/4/23 3/5/23 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"0 209369 209390 209406 209436 209451 209451 \n",
"1 334427 334427 334427 334427 334443 334457 \n",
"2 271469 271477 271477 271490 271494 271496 \n",
"3 47875 47875 47875 47875 47890 47890 \n",
"4 105277 105277 105277 105277 105288 105288 \n",
"5 11 11 11 11 11 11 \n",
"6 9106 9106 9106 9106 9106 9106 \n",
"7 10044125 10044125 10044957 10044957 10044957 10044957 \n",
"8 446819 446819 446819 446819 447308 447308 \n",
"9 232619 232619 232619 232619 232619 232974 \n",
"10 3908129 3908129 3908129 3908129 3908129 3915992 \n",
"11 105021 105021 105021 105021 105021 105111 \n",
"12 1800236 1800236 1800236 1800236 1800236 1800236 \n",
"13 881911 881911 881911 881911 881911 883620 \n",
"14 286897 286897 286897 286897 286897 287507 \n",
"15 2877260 2877260 2877260 2877260 2877260 2880559 \n",
"16 1293461 1293461 1293461 1293461 1293461 1293461 \n",
"17 5936666 5940935 5943417 5949418 5955860 5961143 \n",
"18 828682 828721 828730 828783 828819 828825 \n",
"19 37491 37491 37491 37491 37491 37491 \n",
"20 708768 709230 709230 709858 710306 710693 \n",
"21 2037829 2037829 2037829 2037829 2037871 2037871 \n",
"22 106645 106645 106645 106645 106645 106798 \n",
"23 994037 994037 994037 994037 994037 994037 \n",
"24 4727795 4727795 4727795 4727795 4727795 4739365 \n",
"25 70757 70757 70757 70757 70757 70757 \n",
"26 27990 27990 27990 27999 27999 27999 \n",
"27 62620 62620 62620 62620 62627 62627 \n",
"28 1193815 1193908 1193970 1194069 1194187 1194277 \n",
"29 401636 401636 401636 401636 401729 401729 \n",
".. ... ... ... ... ... ... \n",
"259 2805 2805 2805 2805 2805 2805 \n",
"260 103650837 103646975 103655539 103690910 103755771 103802702 \n",
"261 170504 170504 170504 170504 170544 170544 \n",
"262 5701602 5701743 5701855 5701959 5711818 5711929 \n",
"263 1052519 1052664 1052664 1052926 1053068 1053213 \n",
"264 3904 3904 3904 3904 3904 3904 \n",
"265 18814 18814 18814 18814 18828 18828 \n",
"266 7305 7305 7305 7305 7305 7305 \n",
"267 31472 31472 31472 31472 31472 31472 \n",
"268 0 0 0 0 0 0 \n",
"269 1930 1930 1930 1930 1930 1930 \n",
"270 20433 20433 20433 20433 20433 20433 \n",
"271 34929 34929 34929 34929 34991 34991 \n",
"272 38008 38008 38008 38008 38008 38008 \n",
"273 66391 66391 66391 66391 66391 66391 \n",
"274 1403 1403 1403 1403 1403 1403 \n",
"275 4 4 4 4 4 4 \n",
"276 2166 2166 2166 2166 2166 2166 \n",
"277 6551 6551 6551 6557 6557 6561 \n",
"278 24396530 24396530 24396530 24396530 24396530 24425309 \n",
"279 1034303 1034303 1034303 1034303 1034303 1034303 \n",
"280 251071 251071 251071 251071 251247 251247 \n",
"281 12014 12014 12014 12014 12014 12014 \n",
"282 552051 552051 552125 552157 552157 552162 \n",
"283 11526962 11526966 11526966 11526986 11526994 11526994 \n",
"284 703228 703228 703228 703228 703228 703228 \n",
"285 535 535 535 535 535 535 \n",
"286 11945 11945 11945 11945 11945 11945 \n",
"287 343079 343135 343135 343135 343135 343135 \n",
"288 264127 264127 264127 264127 264276 264276 \n",
"\n",
"[289 rows x 1147 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_data = pd.read_csv(data_local)\n",
"raw_data\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Verification de l'integrite des donnes\n",
"\n",
"#### Verification d'absence de donnees ou de donnees negatives\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"columns_to_study = raw_data.iloc[:,4:].columns\n",
"\n",
"for i in raw_data.index : \n",
" for d in range(len(columns_to_study[:-1])):\n",
" if (pd.isna(raw_data.iloc[i,d+4]) or raw_data.iloc[i,d+4]<0):\n",
" print(raw_data.iloc[i,d+4])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"--> aucun retour donc aucune valeur manquante ou negative\n",
"\n",
"#### Est-ce qu'il y a des donnees qui sont superieures a celle du jour suivant ? (recovery ?)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Il y a 362 donnees superieurs a celle de la donnee suivante\n"
]
}
],
"source": [
"flag = 0\n",
"for i in raw_data.index : \n",
" for d in range(len(columns_to_study[:-1])):\n",
" if (int(raw_data.iloc[i,d+4]) > int(raw_data.iloc[i,d+4 +1])):\n",
" data_problem = (raw_data.iloc[i, 1:2], columns_to_study[d], columns_to_study[d+1])\n",
" flag = flag +1\n",
"print(\"Il y a %s donnees superieurs a celle de la donnee suivante\" % str(flag))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1er tests realises uniquement sur la France\n",
"\n",
"On commence par ne recuperer que la ligne de donnees correspondant a la France \n",
"\n",
"--> Country/Region = France ET Province/State = Nan"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 131 \n",
" NaN \n",
" France \n",
" 46.2276 \n",
" 2.2137 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 3 \n",
" 3 \n",
" 3 \n",
" ... \n",
" 38579269 \n",
" 38583794 \n",
" 38587990 \n",
" 38591184 \n",
" 38591184 \n",
" 38591184 \n",
" 38599330 \n",
" 38606393 \n",
" 38612201 \n",
" 38618509 \n",
" \n",
" \n",
"
\n",
"
1 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n",
"131 NaN France 46.2276 2.2137 0 0 2 \n",
"\n",
" 1/25/20 1/26/20 1/27/20 ... 2/28/23 3/1/23 3/2/23 \\\n",
"131 3 3 3 ... 38579269 38583794 38587990 \n",
"\n",
" 3/3/23 3/4/23 3/5/23 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"131 38591184 38591184 38591184 38599330 38606393 38612201 38618509 \n",
"\n",
"[1 rows x 1147 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_france = raw_data.loc[(raw_data['Country/Region'] == \"France\") & (raw_data['Province/State'].isnull())]\n",
"df_france"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour le plot, on transpose les donnees en ne conservant que les lignes des incidences cummulees - a partir de la colonne 5 "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Int64Index([131], dtype='int64')"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_france_final = df_france.transpose()[5:]\n",
"df_france_final.columns\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour plus de clarte on change le nom de la colonne pour le nom du pays France"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" France \n",
" \n",
" \n",
" \n",
" \n",
" 1/23/20 \n",
" 0 \n",
" \n",
" \n",
" 1/24/20 \n",
" 2 \n",
" \n",
" \n",
" 1/25/20 \n",
" 3 \n",
" \n",
" \n",
" 1/26/20 \n",
" 3 \n",
" \n",
" \n",
" 1/27/20 \n",
" 3 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" France\n",
"1/23/20 0\n",
"1/24/20 2\n",
"1/25/20 3\n",
"1/26/20 3\n",
"1/27/20 3"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_france_final.rename(columns={131: \"France\"}, inplace=True)\n",
"df_france_final.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On change les dates en un format interpretable par pandas"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DatetimeIndex(['2020-01-23', '2020-01-24', '2020-01-25', '2020-01-26',\n",
" '2020-01-27', '2020-01-28', '2020-01-29', '2020-01-30',\n",
" '2020-01-31', '2020-02-01',\n",
" ...\n",
" '2023-02-28', '2023-03-01', '2023-03-02', '2023-03-03',\n",
" '2023-03-04', '2023-03-05', '2023-03-06', '2023-03-07',\n",
" '2023-03-08', '2023-03-09'],\n",
" dtype='datetime64[ns]', length=1142, freq=None)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_dates = pd.to_datetime(df_france_final.index)\n",
"all_dates"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On reinitialise ces dates formattees comme index de la table de donnees "
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" France \n",
" \n",
" \n",
" \n",
" \n",
" 2020-01-23 \n",
" 0 \n",
" \n",
" \n",
" 2020-01-24 \n",
" 2 \n",
" \n",
" \n",
" 2020-01-25 \n",
" 3 \n",
" \n",
" \n",
" 2020-01-26 \n",
" 3 \n",
" \n",
" \n",
" 2020-01-27 \n",
" 3 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" France\n",
"2020-01-23 0\n",
"2020-01-24 2\n",
"2020-01-25 3\n",
"2020-01-26 3\n",
"2020-01-27 3"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_france_final.index = all_dates\n",
"df_france_final.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On peut ploter l'incidence en France "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"df_france_final.plot(ax=ax)\n",
"ax.legend(bbox_to_anchor=(1, 1), loc=\"upper left\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generalisation aux pays d'interet que sont :\n",
"\n",
"* la Belgique (Belgium)\n",
"* la Chine - toutes les provinces sauf Hong-Kong (China)\n",
"* Hong Kong (China, Hong-Kong)\n",
"* la France métropolitaine (France)\n",
"* l’Allemagne (Germany)\n",
"* l’Iran (Iran)\n",
"* l’Italie (Italy)\n",
"* le Japon (Japan)\n",
"* la Corée du Sud (Korea, South)\n",
"* la Hollande sans les colonies (Netherlands)\n",
"* le Portugal (Portugal)\n",
"* l’Espagne (Spain)\n",
"* le Royaume-Unis sans les colonies (United Kingdom)\n",
"* les États-Unis (US).\n",
"\n",
"\n",
"### Creation d'un pays \"Hong-Kong\" \n",
"Hong-Kong apparait comme une province de la Chine. Pour plus de facilite a recupere les donnees, nous remplacons le pays anciennement \"China\" par Hong Kong pour la province Hong Kong uniquement. \n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 71 \n",
" NaN \n",
" Hong Kong \n",
" 22.3 \n",
" 114.2 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 5 \n",
" 8 \n",
" 8 \n",
" ... \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" \n",
" \n",
"
\n",
"
1 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n",
"71 NaN Hong Kong 22.3 114.2 0 2 2 \n",
"\n",
" 1/25/20 1/26/20 1/27/20 ... 2/28/23 3/1/23 3/2/23 3/3/23 \\\n",
"71 5 8 8 ... 2876106 2876106 2876106 2876106 \n",
"\n",
" 3/4/23 3/5/23 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"71 2876106 2876106 2876106 2876106 2876106 2876106 \n",
"\n",
"[1 rows x 1147 columns]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_data.loc[(raw_data['Province/State'] == \"Hong Kong\"),'Country/Region'] = \"Hong Kong\"\n",
"raw_data.loc[(raw_data['Province/State'] == \"Hong Kong\"),'Province/State'] = np.nan\n",
"raw_data.loc[(raw_data['Country/Region'] == \"Hong Kong\")]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Gestion particuliere de la Chine\n",
"La Chine apparait sous de multiples province que nous allons sommer en un unique pays.\n",
"\n",
"Om commence par recuperer toutes les donnees de Chine\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 59 \n",
" Anhui \n",
" China \n",
" 31.8257 \n",
" 117.2264 \n",
" 1 \n",
" 9 \n",
" 15 \n",
" 39 \n",
" 60 \n",
" 70 \n",
" ... \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" \n",
" \n",
" 60 \n",
" Beijing \n",
" China \n",
" 40.1824 \n",
" 116.4142 \n",
" 14 \n",
" 22 \n",
" 36 \n",
" 41 \n",
" 68 \n",
" 80 \n",
" ... \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" \n",
" \n",
" 61 \n",
" Chongqing \n",
" China \n",
" 30.0572 \n",
" 107.8740 \n",
" 6 \n",
" 9 \n",
" 27 \n",
" 57 \n",
" 75 \n",
" 110 \n",
" ... \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" \n",
" \n",
" 62 \n",
" Fujian \n",
" China \n",
" 26.0789 \n",
" 117.9874 \n",
" 1 \n",
" 5 \n",
" 10 \n",
" 18 \n",
" 35 \n",
" 59 \n",
" ... \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" \n",
" \n",
" 63 \n",
" Gansu \n",
" China \n",
" 35.7518 \n",
" 104.2861 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 4 \n",
" 7 \n",
" 14 \n",
" ... \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" \n",
" \n",
" 64 \n",
" Guangdong \n",
" China \n",
" 23.3417 \n",
" 113.4244 \n",
" 26 \n",
" 32 \n",
" 53 \n",
" 78 \n",
" 111 \n",
" 151 \n",
" ... \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" \n",
" \n",
" 65 \n",
" Guangxi \n",
" China \n",
" 23.8298 \n",
" 108.7881 \n",
" 2 \n",
" 5 \n",
" 23 \n",
" 23 \n",
" 36 \n",
" 46 \n",
" ... \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" \n",
" \n",
" 66 \n",
" Guizhou \n",
" China \n",
" 26.8154 \n",
" 106.8748 \n",
" 1 \n",
" 3 \n",
" 3 \n",
" 4 \n",
" 5 \n",
" 7 \n",
" ... \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" \n",
" \n",
" 67 \n",
" Hainan \n",
" China \n",
" 19.1959 \n",
" 109.7453 \n",
" 4 \n",
" 5 \n",
" 8 \n",
" 19 \n",
" 22 \n",
" 33 \n",
" ... \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" \n",
" \n",
" 68 \n",
" Hebei \n",
" China \n",
" 39.5490 \n",
" 116.1306 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 8 \n",
" 13 \n",
" 18 \n",
" ... \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" \n",
" \n",
" 69 \n",
" Heilongjiang \n",
" China \n",
" 47.8620 \n",
" 127.7615 \n",
" 0 \n",
" 2 \n",
" 4 \n",
" 9 \n",
" 15 \n",
" 21 \n",
" ... \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" \n",
" \n",
" 70 \n",
" Henan \n",
" China \n",
" 37.8957 \n",
" 114.9042 \n",
" 5 \n",
" 5 \n",
" 9 \n",
" 32 \n",
" 83 \n",
" 128 \n",
" ... \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" \n",
" \n",
" 72 \n",
" Hubei \n",
" China \n",
" 30.9756 \n",
" 112.2707 \n",
" 444 \n",
" 444 \n",
" 549 \n",
" 761 \n",
" 1058 \n",
" 1423 \n",
" ... \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" \n",
" \n",
" 73 \n",
" Hunan \n",
" China \n",
" 27.6104 \n",
" 111.7088 \n",
" 4 \n",
" 9 \n",
" 24 \n",
" 43 \n",
" 69 \n",
" 100 \n",
" ... \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" \n",
" \n",
" 74 \n",
" Inner Mongolia \n",
" China \n",
" 44.0935 \n",
" 113.9448 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 7 \n",
" 7 \n",
" 11 \n",
" ... \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" \n",
" \n",
" 75 \n",
" Jiangsu \n",
" China \n",
" 32.9711 \n",
" 119.4550 \n",
" 1 \n",
" 5 \n",
" 9 \n",
" 18 \n",
" 33 \n",
" 47 \n",
" ... \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" \n",
" \n",
" 76 \n",
" Jiangxi \n",
" China \n",
" 27.6140 \n",
" 115.7221 \n",
" 2 \n",
" 7 \n",
" 18 \n",
" 18 \n",
" 36 \n",
" 72 \n",
" ... \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" \n",
" \n",
" 77 \n",
" Jilin \n",
" China \n",
" 43.6661 \n",
" 126.1923 \n",
" 0 \n",
" 1 \n",
" 3 \n",
" 4 \n",
" 4 \n",
" 6 \n",
" ... \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" \n",
" \n",
" 78 \n",
" Liaoning \n",
" China \n",
" 41.2956 \n",
" 122.6085 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" 17 \n",
" 21 \n",
" 27 \n",
" ... \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" \n",
" \n",
" 79 \n",
" Macau \n",
" China \n",
" 22.1667 \n",
" 113.5500 \n",
" 1 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" 5 \n",
" 6 \n",
" ... \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" \n",
" \n",
" 80 \n",
" Ningxia \n",
" China \n",
" 37.2692 \n",
" 106.1655 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" 7 \n",
" ... \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" \n",
" \n",
" 81 \n",
" Qinghai \n",
" China \n",
" 35.7452 \n",
" 95.9956 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 1 \n",
" 6 \n",
" ... \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" \n",
" \n",
" 82 \n",
" Shaanxi \n",
" China \n",
" 35.1917 \n",
" 108.8701 \n",
" 0 \n",
" 3 \n",
" 5 \n",
" 15 \n",
" 22 \n",
" 35 \n",
" ... \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" \n",
" \n",
" 83 \n",
" Shandong \n",
" China \n",
" 36.3427 \n",
" 118.1498 \n",
" 2 \n",
" 6 \n",
" 15 \n",
" 27 \n",
" 46 \n",
" 75 \n",
" ... \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" \n",
" \n",
" 84 \n",
" Shanghai \n",
" China \n",
" 31.2020 \n",
" 121.4491 \n",
" 9 \n",
" 16 \n",
" 20 \n",
" 33 \n",
" 40 \n",
" 53 \n",
" ... \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" \n",
" \n",
" 85 \n",
" Shanxi \n",
" China \n",
" 37.5777 \n",
" 112.2922 \n",
" 1 \n",
" 1 \n",
" 1 \n",
" 6 \n",
" 9 \n",
" 13 \n",
" ... \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" \n",
" \n",
" 86 \n",
" Sichuan \n",
" China \n",
" 30.6171 \n",
" 102.7103 \n",
" 5 \n",
" 8 \n",
" 15 \n",
" 28 \n",
" 44 \n",
" 69 \n",
" ... \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" \n",
" \n",
" 87 \n",
" Tianjin \n",
" China \n",
" 39.3054 \n",
" 117.3230 \n",
" 4 \n",
" 4 \n",
" 8 \n",
" 10 \n",
" 14 \n",
" 23 \n",
" ... \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" \n",
" \n",
" 88 \n",
" Tibet \n",
" China \n",
" 31.6927 \n",
" 88.0924 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" \n",
" \n",
" 89 \n",
" Unknown \n",
" China \n",
" NaN \n",
" NaN \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" \n",
" \n",
" 90 \n",
" Xinjiang \n",
" China \n",
" 41.1129 \n",
" 85.2401 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" 5 \n",
" ... \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" \n",
" \n",
" 91 \n",
" Yunnan \n",
" China \n",
" 24.9740 \n",
" 101.4870 \n",
" 1 \n",
" 2 \n",
" 5 \n",
" 11 \n",
" 16 \n",
" 26 \n",
" ... \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" \n",
" \n",
" 92 \n",
" Zhejiang \n",
" China \n",
" 29.1832 \n",
" 120.0934 \n",
" 10 \n",
" 27 \n",
" 43 \n",
" 62 \n",
" 104 \n",
" 128 \n",
" ... \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" \n",
" \n",
"
\n",
"
33 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"59 Anhui China 31.8257 117.2264 1 9 \n",
"60 Beijing China 40.1824 116.4142 14 22 \n",
"61 Chongqing China 30.0572 107.8740 6 9 \n",
"62 Fujian China 26.0789 117.9874 1 5 \n",
"63 Gansu China 35.7518 104.2861 0 2 \n",
"64 Guangdong China 23.3417 113.4244 26 32 \n",
"65 Guangxi China 23.8298 108.7881 2 5 \n",
"66 Guizhou China 26.8154 106.8748 1 3 \n",
"67 Hainan China 19.1959 109.7453 4 5 \n",
"68 Hebei China 39.5490 116.1306 1 1 \n",
"69 Heilongjiang China 47.8620 127.7615 0 2 \n",
"70 Henan China 37.8957 114.9042 5 5 \n",
"72 Hubei China 30.9756 112.2707 444 444 \n",
"73 Hunan China 27.6104 111.7088 4 9 \n",
"74 Inner Mongolia China 44.0935 113.9448 0 0 \n",
"75 Jiangsu China 32.9711 119.4550 1 5 \n",
"76 Jiangxi China 27.6140 115.7221 2 7 \n",
"77 Jilin China 43.6661 126.1923 0 1 \n",
"78 Liaoning China 41.2956 122.6085 2 3 \n",
"79 Macau China 22.1667 113.5500 1 2 \n",
"80 Ningxia China 37.2692 106.1655 1 1 \n",
"81 Qinghai China 35.7452 95.9956 0 0 \n",
"82 Shaanxi China 35.1917 108.8701 0 3 \n",
"83 Shandong China 36.3427 118.1498 2 6 \n",
"84 Shanghai China 31.2020 121.4491 9 16 \n",
"85 Shanxi China 37.5777 112.2922 1 1 \n",
"86 Sichuan China 30.6171 102.7103 5 8 \n",
"87 Tianjin China 39.3054 117.3230 4 4 \n",
"88 Tibet China 31.6927 88.0924 0 0 \n",
"89 Unknown China NaN NaN 0 0 \n",
"90 Xinjiang China 41.1129 85.2401 0 2 \n",
"91 Yunnan China 24.9740 101.4870 1 2 \n",
"92 Zhejiang China 29.1832 120.0934 10 27 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 2/28/23 3/1/23 3/2/23 \\\n",
"59 15 39 60 70 ... 2275 2275 2275 \n",
"60 36 41 68 80 ... 40774 40774 40774 \n",
"61 27 57 75 110 ... 14715 14715 14715 \n",
"62 10 18 35 59 ... 17122 17122 17122 \n",
"63 2 4 7 14 ... 1742 1742 1742 \n",
"64 53 78 111 151 ... 103248 103248 103248 \n",
"65 23 23 36 46 ... 13371 13371 13371 \n",
"66 3 4 5 7 ... 2534 2534 2534 \n",
"67 8 19 22 33 ... 10483 10483 10483 \n",
"68 2 8 13 18 ... 3292 3292 3292 \n",
"69 4 9 15 21 ... 6603 6603 6603 \n",
"70 9 32 83 128 ... 9948 9948 9948 \n",
"72 549 761 1058 1423 ... 72131 72131 72131 \n",
"73 24 43 69 100 ... 7437 7437 7437 \n",
"74 1 7 7 11 ... 8847 8847 8847 \n",
"75 9 18 33 47 ... 5075 5075 5075 \n",
"76 18 18 36 72 ... 3423 3423 3423 \n",
"77 3 4 4 6 ... 40764 40764 40764 \n",
"78 4 17 21 27 ... 3547 3547 3547 \n",
"79 2 2 5 6 ... 3514 3514 3514 \n",
"80 2 3 4 7 ... 1276 1276 1276 \n",
"81 0 1 1 6 ... 782 782 782 \n",
"82 5 15 22 35 ... 7326 7326 7326 \n",
"83 15 27 46 75 ... 5880 5880 5880 \n",
"84 20 33 40 53 ... 67040 67040 67040 \n",
"85 1 6 9 13 ... 7167 7167 7167 \n",
"86 15 28 44 69 ... 14567 14567 14567 \n",
"87 8 10 14 23 ... 4392 4392 4392 \n",
"88 0 0 0 0 ... 1647 1647 1647 \n",
"89 0 0 0 0 ... 1521816 1521816 1521816 \n",
"90 2 3 4 5 ... 3089 3089 3089 \n",
"91 5 11 16 26 ... 9743 9743 9743 \n",
"92 43 62 104 128 ... 11848 11848 11848 \n",
"\n",
" 3/3/23 3/4/23 3/5/23 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"59 2275 2275 2275 2275 2275 2275 2275 \n",
"60 40774 40774 40774 40774 40774 40774 40774 \n",
"61 14715 14715 14715 14715 14715 14715 14715 \n",
"62 17122 17122 17122 17122 17122 17122 17122 \n",
"63 1742 1742 1742 1742 1742 1742 1742 \n",
"64 103248 103248 103248 103248 103248 103248 103248 \n",
"65 13371 13371 13371 13371 13371 13371 13371 \n",
"66 2534 2534 2534 2534 2534 2534 2534 \n",
"67 10483 10483 10483 10483 10483 10483 10483 \n",
"68 3292 3292 3292 3292 3292 3292 3292 \n",
"69 6603 6603 6603 6603 6603 6603 6603 \n",
"70 9948 9948 9948 9948 9948 9948 9948 \n",
"72 72131 72131 72131 72131 72131 72131 72131 \n",
"73 7437 7437 7437 7437 7437 7437 7437 \n",
"74 8847 8847 8847 8847 8847 8847 8847 \n",
"75 5075 5075 5075 5075 5075 5075 5075 \n",
"76 3423 3423 3423 3423 3423 3423 3423 \n",
"77 40764 40764 40764 40764 40764 40764 40764 \n",
"78 3547 3547 3547 3547 3547 3547 3547 \n",
"79 3514 3514 3514 3514 3514 3514 3514 \n",
"80 1276 1276 1276 1276 1276 1276 1276 \n",
"81 782 782 782 782 782 782 782 \n",
"82 7326 7326 7326 7326 7326 7326 7326 \n",
"83 5880 5880 5880 5880 5880 5880 5880 \n",
"84 67040 67040 67040 67040 67040 67040 67040 \n",
"85 7167 7167 7167 7167 7167 7167 7167 \n",
"86 14567 14567 14567 14567 14567 14567 14567 \n",
"87 4392 4392 4392 4392 4392 4392 4392 \n",
"88 1647 1647 1647 1647 1647 1647 1647 \n",
"89 1521816 1521816 1521816 1521816 1521816 1521816 1521816 \n",
"90 3089 3089 3089 3089 3089 3089 3089 \n",
"91 9743 9743 9743 9743 9743 9743 9743 \n",
"92 11848 11848 11848 11848 11848 11848 11848 \n",
"\n",
"[33 rows x 1147 columns]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_china = raw_data.loc[(raw_data['Country/Region'] == \"China\")]\n",
"df_china\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On somme toutes les donnes et on reinitialise les province, lattitude, longitude a NA, le pays a China.\n",
"\n",
"On travaille sur une Serie pandas, on la reformate en dataframe avec une tranposition. "
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" NaN \n",
" China \n",
" NaN \n",
" NaN \n",
" 548 \n",
" 641 \n",
" 918 \n",
" 1401 \n",
" 2067 \n",
" 2869 \n",
" ... \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" \n",
" \n",
"
\n",
"
1 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 \\\n",
"0 NaN China NaN NaN 548 641 918 1401 \n",
"\n",
" 1/26/20 1/27/20 ... 2/28/23 3/1/23 3/2/23 3/3/23 3/4/23 \\\n",
"0 2067 2869 ... 2027418 2027418 2027418 2027418 2027418 \n",
"\n",
" 3/5/23 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"0 2027418 2027418 2027418 2027418 2027418 \n",
"\n",
"[1 rows x 1147 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_China_combined = df_china.sum()\n",
"df_China_combined[\"Province/State\"] = np.nan\n",
"df_China_combined[\"Lat\"] = np.nan\n",
"df_China_combined[\"Long\"] = np.nan\n",
"df_China_combined[\"Country/Region\"] = \"China\"\n",
"df_China_combined = pd.DataFrame(df_China_combined)\n",
"df_China_combined = df_China_combined.transpose()\n",
"df_China_combined"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On ajoute les donnees China \"total\" dans un nouveau dataframe pandas \"newSet\"\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 59 \n",
" Anhui \n",
" China \n",
" 31.8257 \n",
" 117.2264 \n",
" 1 \n",
" 9 \n",
" 15 \n",
" 39 \n",
" 60 \n",
" 70 \n",
" ... \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" 2275 \n",
" \n",
" \n",
" 60 \n",
" Beijing \n",
" China \n",
" 40.1824 \n",
" 116.4142 \n",
" 14 \n",
" 22 \n",
" 36 \n",
" 41 \n",
" 68 \n",
" 80 \n",
" ... \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" 40774 \n",
" \n",
" \n",
" 61 \n",
" Chongqing \n",
" China \n",
" 30.0572 \n",
" 107.8740 \n",
" 6 \n",
" 9 \n",
" 27 \n",
" 57 \n",
" 75 \n",
" 110 \n",
" ... \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" 14715 \n",
" \n",
" \n",
" 62 \n",
" Fujian \n",
" China \n",
" 26.0789 \n",
" 117.9874 \n",
" 1 \n",
" 5 \n",
" 10 \n",
" 18 \n",
" 35 \n",
" 59 \n",
" ... \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" 17122 \n",
" \n",
" \n",
" 63 \n",
" Gansu \n",
" China \n",
" 35.7518 \n",
" 104.2861 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 4 \n",
" 7 \n",
" 14 \n",
" ... \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" 1742 \n",
" \n",
" \n",
" 64 \n",
" Guangdong \n",
" China \n",
" 23.3417 \n",
" 113.4244 \n",
" 26 \n",
" 32 \n",
" 53 \n",
" 78 \n",
" 111 \n",
" 151 \n",
" ... \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" 103248 \n",
" \n",
" \n",
" 65 \n",
" Guangxi \n",
" China \n",
" 23.8298 \n",
" 108.7881 \n",
" 2 \n",
" 5 \n",
" 23 \n",
" 23 \n",
" 36 \n",
" 46 \n",
" ... \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" 13371 \n",
" \n",
" \n",
" 66 \n",
" Guizhou \n",
" China \n",
" 26.8154 \n",
" 106.8748 \n",
" 1 \n",
" 3 \n",
" 3 \n",
" 4 \n",
" 5 \n",
" 7 \n",
" ... \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" 2534 \n",
" \n",
" \n",
" 67 \n",
" Hainan \n",
" China \n",
" 19.1959 \n",
" 109.7453 \n",
" 4 \n",
" 5 \n",
" 8 \n",
" 19 \n",
" 22 \n",
" 33 \n",
" ... \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" 10483 \n",
" \n",
" \n",
" 68 \n",
" Hebei \n",
" China \n",
" 39.5490 \n",
" 116.1306 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 8 \n",
" 13 \n",
" 18 \n",
" ... \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" 3292 \n",
" \n",
" \n",
" 69 \n",
" Heilongjiang \n",
" China \n",
" 47.8620 \n",
" 127.7615 \n",
" 0 \n",
" 2 \n",
" 4 \n",
" 9 \n",
" 15 \n",
" 21 \n",
" ... \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" 6603 \n",
" \n",
" \n",
" 70 \n",
" Henan \n",
" China \n",
" 37.8957 \n",
" 114.9042 \n",
" 5 \n",
" 5 \n",
" 9 \n",
" 32 \n",
" 83 \n",
" 128 \n",
" ... \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" 9948 \n",
" \n",
" \n",
" 72 \n",
" Hubei \n",
" China \n",
" 30.9756 \n",
" 112.2707 \n",
" 444 \n",
" 444 \n",
" 549 \n",
" 761 \n",
" 1058 \n",
" 1423 \n",
" ... \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" 72131 \n",
" \n",
" \n",
" 73 \n",
" Hunan \n",
" China \n",
" 27.6104 \n",
" 111.7088 \n",
" 4 \n",
" 9 \n",
" 24 \n",
" 43 \n",
" 69 \n",
" 100 \n",
" ... \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" 7437 \n",
" \n",
" \n",
" 74 \n",
" Inner Mongolia \n",
" China \n",
" 44.0935 \n",
" 113.9448 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 7 \n",
" 7 \n",
" 11 \n",
" ... \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" 8847 \n",
" \n",
" \n",
" 75 \n",
" Jiangsu \n",
" China \n",
" 32.9711 \n",
" 119.4550 \n",
" 1 \n",
" 5 \n",
" 9 \n",
" 18 \n",
" 33 \n",
" 47 \n",
" ... \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" 5075 \n",
" \n",
" \n",
" 76 \n",
" Jiangxi \n",
" China \n",
" 27.6140 \n",
" 115.7221 \n",
" 2 \n",
" 7 \n",
" 18 \n",
" 18 \n",
" 36 \n",
" 72 \n",
" ... \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" 3423 \n",
" \n",
" \n",
" 77 \n",
" Jilin \n",
" China \n",
" 43.6661 \n",
" 126.1923 \n",
" 0 \n",
" 1 \n",
" 3 \n",
" 4 \n",
" 4 \n",
" 6 \n",
" ... \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" 40764 \n",
" \n",
" \n",
" 78 \n",
" Liaoning \n",
" China \n",
" 41.2956 \n",
" 122.6085 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" 17 \n",
" 21 \n",
" 27 \n",
" ... \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" 3547 \n",
" \n",
" \n",
" 79 \n",
" Macau \n",
" China \n",
" 22.1667 \n",
" 113.5500 \n",
" 1 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" 5 \n",
" 6 \n",
" ... \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" 3514 \n",
" \n",
" \n",
" 80 \n",
" Ningxia \n",
" China \n",
" 37.2692 \n",
" 106.1655 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" 7 \n",
" ... \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" 1276 \n",
" \n",
" \n",
" 81 \n",
" Qinghai \n",
" China \n",
" 35.7452 \n",
" 95.9956 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 1 \n",
" 6 \n",
" ... \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" 782 \n",
" \n",
" \n",
" 82 \n",
" Shaanxi \n",
" China \n",
" 35.1917 \n",
" 108.8701 \n",
" 0 \n",
" 3 \n",
" 5 \n",
" 15 \n",
" 22 \n",
" 35 \n",
" ... \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" 7326 \n",
" \n",
" \n",
" 83 \n",
" Shandong \n",
" China \n",
" 36.3427 \n",
" 118.1498 \n",
" 2 \n",
" 6 \n",
" 15 \n",
" 27 \n",
" 46 \n",
" 75 \n",
" ... \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" 5880 \n",
" \n",
" \n",
" 84 \n",
" Shanghai \n",
" China \n",
" 31.2020 \n",
" 121.4491 \n",
" 9 \n",
" 16 \n",
" 20 \n",
" 33 \n",
" 40 \n",
" 53 \n",
" ... \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" 67040 \n",
" \n",
" \n",
" 85 \n",
" Shanxi \n",
" China \n",
" 37.5777 \n",
" 112.2922 \n",
" 1 \n",
" 1 \n",
" 1 \n",
" 6 \n",
" 9 \n",
" 13 \n",
" ... \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" 7167 \n",
" \n",
" \n",
" 86 \n",
" Sichuan \n",
" China \n",
" 30.6171 \n",
" 102.7103 \n",
" 5 \n",
" 8 \n",
" 15 \n",
" 28 \n",
" 44 \n",
" 69 \n",
" ... \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" 14567 \n",
" \n",
" \n",
" 87 \n",
" Tianjin \n",
" China \n",
" 39.3054 \n",
" 117.3230 \n",
" 4 \n",
" 4 \n",
" 8 \n",
" 10 \n",
" 14 \n",
" 23 \n",
" ... \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" 4392 \n",
" \n",
" \n",
" 88 \n",
" Tibet \n",
" China \n",
" 31.6927 \n",
" 88.0924 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" 1647 \n",
" \n",
" \n",
" 89 \n",
" Unknown \n",
" China \n",
" NaN \n",
" NaN \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" 1521816 \n",
" \n",
" \n",
" 90 \n",
" Xinjiang \n",
" China \n",
" 41.1129 \n",
" 85.2401 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" 5 \n",
" ... \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" 3089 \n",
" \n",
" \n",
" 91 \n",
" Yunnan \n",
" China \n",
" 24.9740 \n",
" 101.4870 \n",
" 1 \n",
" 2 \n",
" 5 \n",
" 11 \n",
" 16 \n",
" 26 \n",
" ... \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" 9743 \n",
" \n",
" \n",
" 92 \n",
" Zhejiang \n",
" China \n",
" 29.1832 \n",
" 120.0934 \n",
" 10 \n",
" 27 \n",
" 43 \n",
" 62 \n",
" 104 \n",
" 128 \n",
" ... \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" 11848 \n",
" \n",
" \n",
" 0 \n",
" NaN \n",
" China \n",
" NaN \n",
" NaN \n",
" 548 \n",
" 641 \n",
" 918 \n",
" 1401 \n",
" 2067 \n",
" 2869 \n",
" ... \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" \n",
" \n",
"
\n",
"
34 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n",
"59 Anhui China 31.8257 117.2264 1 9 15 \n",
"60 Beijing China 40.1824 116.4142 14 22 36 \n",
"61 Chongqing China 30.0572 107.8740 6 9 27 \n",
"62 Fujian China 26.0789 117.9874 1 5 10 \n",
"63 Gansu China 35.7518 104.2861 0 2 2 \n",
"64 Guangdong China 23.3417 113.4244 26 32 53 \n",
"65 Guangxi China 23.8298 108.7881 2 5 23 \n",
"66 Guizhou China 26.8154 106.8748 1 3 3 \n",
"67 Hainan China 19.1959 109.7453 4 5 8 \n",
"68 Hebei China 39.5490 116.1306 1 1 2 \n",
"69 Heilongjiang China 47.8620 127.7615 0 2 4 \n",
"70 Henan China 37.8957 114.9042 5 5 9 \n",
"72 Hubei China 30.9756 112.2707 444 444 549 \n",
"73 Hunan China 27.6104 111.7088 4 9 24 \n",
"74 Inner Mongolia China 44.0935 113.9448 0 0 1 \n",
"75 Jiangsu China 32.9711 119.4550 1 5 9 \n",
"76 Jiangxi China 27.6140 115.7221 2 7 18 \n",
"77 Jilin China 43.6661 126.1923 0 1 3 \n",
"78 Liaoning China 41.2956 122.6085 2 3 4 \n",
"79 Macau China 22.1667 113.5500 1 2 2 \n",
"80 Ningxia China 37.2692 106.1655 1 1 2 \n",
"81 Qinghai China 35.7452 95.9956 0 0 0 \n",
"82 Shaanxi China 35.1917 108.8701 0 3 5 \n",
"83 Shandong China 36.3427 118.1498 2 6 15 \n",
"84 Shanghai China 31.2020 121.4491 9 16 20 \n",
"85 Shanxi China 37.5777 112.2922 1 1 1 \n",
"86 Sichuan China 30.6171 102.7103 5 8 15 \n",
"87 Tianjin China 39.3054 117.3230 4 4 8 \n",
"88 Tibet China 31.6927 88.0924 0 0 0 \n",
"89 Unknown China NaN NaN 0 0 0 \n",
"90 Xinjiang China 41.1129 85.2401 0 2 2 \n",
"91 Yunnan China 24.9740 101.4870 1 2 5 \n",
"92 Zhejiang China 29.1832 120.0934 10 27 43 \n",
"0 NaN China NaN NaN 548 641 918 \n",
"\n",
" 1/25/20 1/26/20 1/27/20 ... 2/28/23 3/1/23 3/2/23 3/3/23 \\\n",
"59 39 60 70 ... 2275 2275 2275 2275 \n",
"60 41 68 80 ... 40774 40774 40774 40774 \n",
"61 57 75 110 ... 14715 14715 14715 14715 \n",
"62 18 35 59 ... 17122 17122 17122 17122 \n",
"63 4 7 14 ... 1742 1742 1742 1742 \n",
"64 78 111 151 ... 103248 103248 103248 103248 \n",
"65 23 36 46 ... 13371 13371 13371 13371 \n",
"66 4 5 7 ... 2534 2534 2534 2534 \n",
"67 19 22 33 ... 10483 10483 10483 10483 \n",
"68 8 13 18 ... 3292 3292 3292 3292 \n",
"69 9 15 21 ... 6603 6603 6603 6603 \n",
"70 32 83 128 ... 9948 9948 9948 9948 \n",
"72 761 1058 1423 ... 72131 72131 72131 72131 \n",
"73 43 69 100 ... 7437 7437 7437 7437 \n",
"74 7 7 11 ... 8847 8847 8847 8847 \n",
"75 18 33 47 ... 5075 5075 5075 5075 \n",
"76 18 36 72 ... 3423 3423 3423 3423 \n",
"77 4 4 6 ... 40764 40764 40764 40764 \n",
"78 17 21 27 ... 3547 3547 3547 3547 \n",
"79 2 5 6 ... 3514 3514 3514 3514 \n",
"80 3 4 7 ... 1276 1276 1276 1276 \n",
"81 1 1 6 ... 782 782 782 782 \n",
"82 15 22 35 ... 7326 7326 7326 7326 \n",
"83 27 46 75 ... 5880 5880 5880 5880 \n",
"84 33 40 53 ... 67040 67040 67040 67040 \n",
"85 6 9 13 ... 7167 7167 7167 7167 \n",
"86 28 44 69 ... 14567 14567 14567 14567 \n",
"87 10 14 23 ... 4392 4392 4392 4392 \n",
"88 0 0 0 ... 1647 1647 1647 1647 \n",
"89 0 0 0 ... 1521816 1521816 1521816 1521816 \n",
"90 3 4 5 ... 3089 3089 3089 3089 \n",
"91 11 16 26 ... 9743 9743 9743 9743 \n",
"92 62 104 128 ... 11848 11848 11848 11848 \n",
"0 1401 2067 2869 ... 2027418 2027418 2027418 2027418 \n",
"\n",
" 3/4/23 3/5/23 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"59 2275 2275 2275 2275 2275 2275 \n",
"60 40774 40774 40774 40774 40774 40774 \n",
"61 14715 14715 14715 14715 14715 14715 \n",
"62 17122 17122 17122 17122 17122 17122 \n",
"63 1742 1742 1742 1742 1742 1742 \n",
"64 103248 103248 103248 103248 103248 103248 \n",
"65 13371 13371 13371 13371 13371 13371 \n",
"66 2534 2534 2534 2534 2534 2534 \n",
"67 10483 10483 10483 10483 10483 10483 \n",
"68 3292 3292 3292 3292 3292 3292 \n",
"69 6603 6603 6603 6603 6603 6603 \n",
"70 9948 9948 9948 9948 9948 9948 \n",
"72 72131 72131 72131 72131 72131 72131 \n",
"73 7437 7437 7437 7437 7437 7437 \n",
"74 8847 8847 8847 8847 8847 8847 \n",
"75 5075 5075 5075 5075 5075 5075 \n",
"76 3423 3423 3423 3423 3423 3423 \n",
"77 40764 40764 40764 40764 40764 40764 \n",
"78 3547 3547 3547 3547 3547 3547 \n",
"79 3514 3514 3514 3514 3514 3514 \n",
"80 1276 1276 1276 1276 1276 1276 \n",
"81 782 782 782 782 782 782 \n",
"82 7326 7326 7326 7326 7326 7326 \n",
"83 5880 5880 5880 5880 5880 5880 \n",
"84 67040 67040 67040 67040 67040 67040 \n",
"85 7167 7167 7167 7167 7167 7167 \n",
"86 14567 14567 14567 14567 14567 14567 \n",
"87 4392 4392 4392 4392 4392 4392 \n",
"88 1647 1647 1647 1647 1647 1647 \n",
"89 1521816 1521816 1521816 1521816 1521816 1521816 \n",
"90 3089 3089 3089 3089 3089 3089 \n",
"91 9743 9743 9743 9743 9743 9743 \n",
"92 11848 11848 11848 11848 11848 11848 \n",
"0 2027418 2027418 2027418 2027418 2027418 2027418 \n",
"\n",
"[34 rows x 1147 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"newSet = pd.concat([raw_data,df_China_combined])\n",
"newSet.loc[(newSet['Country/Region'] == \"China\")]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Recuperation des donnees pour les pays d'interet listes ci dessus\n",
"\n",
"On cree une liste avec les pays d'interet.\n",
"\n",
"On recupere par la suite un sous jeu de donnees avec uniquement ces pays et \"NA\" en province. "
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 2/28/23 \n",
" 3/1/23 \n",
" 3/2/23 \n",
" 3/3/23 \n",
" 3/4/23 \n",
" 3/5/23 \n",
" 3/6/23 \n",
" 3/7/23 \n",
" 3/8/23 \n",
" 3/9/23 \n",
" \n",
" \n",
" \n",
" \n",
" 24 \n",
" NaN \n",
" Belgium \n",
" 50.833300 \n",
" 4.469936 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 4717655 \n",
" 4717655 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4727795 \n",
" 4739365 \n",
" \n",
" \n",
" 71 \n",
" NaN \n",
" Hong Kong \n",
" 22.300000 \n",
" 114.200000 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 5 \n",
" 8 \n",
" 8 \n",
" ... \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" 2876106 \n",
" \n",
" \n",
" 131 \n",
" NaN \n",
" France \n",
" 46.227600 \n",
" 2.213700 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 3 \n",
" 3 \n",
" 3 \n",
" ... \n",
" 38579269 \n",
" 38583794 \n",
" 38587990 \n",
" 38591184 \n",
" 38591184 \n",
" 38591184 \n",
" 38599330 \n",
" 38606393 \n",
" 38612201 \n",
" 38618509 \n",
" \n",
" \n",
" 135 \n",
" NaN \n",
" Germany \n",
" 51.165691 \n",
" 10.451526 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" ... \n",
" 38168908 \n",
" 38189954 \n",
" 38202571 \n",
" 38210850 \n",
" 38210850 \n",
" 38210851 \n",
" 38210851 \n",
" 38231610 \n",
" 38241231 \n",
" 38249060 \n",
" \n",
" \n",
" 150 \n",
" NaN \n",
" Iran \n",
" 32.427908 \n",
" 53.688046 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 7567906 \n",
" 7568903 \n",
" 7569261 \n",
" 7569483 \n",
" 7569769 \n",
" 7570232 \n",
" 7570743 \n",
" 7571352 \n",
" 7571996 \n",
" 7572311 \n",
" \n",
" \n",
" 154 \n",
" NaN \n",
" Italy \n",
" 41.871940 \n",
" 12.567380 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 25576852 \n",
" 25576852 \n",
" 25576852 \n",
" 25603510 \n",
" 25603510 \n",
" 25603510 \n",
" 25603510 \n",
" 25603510 \n",
" 25603510 \n",
" 25603510 \n",
" \n",
" \n",
" 156 \n",
" NaN \n",
" Japan \n",
" 36.204824 \n",
" 138.252924 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" 2 \n",
" 4 \n",
" 4 \n",
" ... \n",
" 33227230 \n",
" 33241180 \n",
" 33252686 \n",
" 33263208 \n",
" 33273639 \n",
" 33282370 \n",
" 33286633 \n",
" 33298799 \n",
" 33310604 \n",
" 33320438 \n",
" \n",
" \n",
" 162 \n",
" NaN \n",
" Korea, South \n",
" 35.907757 \n",
" 127.766922 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 2 \n",
" 3 \n",
" 4 \n",
" ... \n",
" 30526012 \n",
" 30533573 \n",
" 30543981 \n",
" 30555102 \n",
" 30555102 \n",
" 30569215 \n",
" 30581499 \n",
" 30594297 \n",
" 30605187 \n",
" 30615522 \n",
" \n",
" \n",
" 200 \n",
" NaN \n",
" Netherlands \n",
" 52.132600 \n",
" 5.291300 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 8596157 \n",
" 8596157 \n",
" 8596157 \n",
" 8598043 \n",
" 8598043 \n",
" 8598043 \n",
" 8598043 \n",
" 8599981 \n",
" 8599981 \n",
" 8599981 \n",
" \n",
" \n",
" 218 \n",
" NaN \n",
" Portugal \n",
" 39.399900 \n",
" -8.224500 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 5566708 \n",
" 5568084 \n",
" 5568084 \n",
" 5568084 \n",
" 5568084 \n",
" 5568084 \n",
" 5568084 \n",
" 5568084 \n",
" 5570473 \n",
" 5570473 \n",
" \n",
" \n",
" 241 \n",
" NaN \n",
" Spain \n",
" 40.463667 \n",
" -3.749220 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 13763336 \n",
" 13763336 \n",
" 13763336 \n",
" 13770429 \n",
" 13770429 \n",
" 13770429 \n",
" 13770429 \n",
" 13770429 \n",
" 13770429 \n",
" 13770429 \n",
" \n",
" \n",
" 260 \n",
" NaN \n",
" US \n",
" 40.000000 \n",
" -100.000000 \n",
" 1 \n",
" 1 \n",
" 2 \n",
" 2 \n",
" 5 \n",
" 5 \n",
" ... \n",
" 103443455 \n",
" 103533872 \n",
" 103589757 \n",
" 103648690 \n",
" 103650837 \n",
" 103646975 \n",
" 103655539 \n",
" 103690910 \n",
" 103755771 \n",
" 103802702 \n",
" \n",
" \n",
" 278 \n",
" NaN \n",
" United Kingdom \n",
" 55.378100 \n",
" -3.436000 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 24370150 \n",
" 24370150 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24396530 \n",
" 24425309 \n",
" \n",
" \n",
" 0 \n",
" NaN \n",
" China \n",
" NaN \n",
" NaN \n",
" 548 \n",
" 641 \n",
" 918 \n",
" 1401 \n",
" 2067 \n",
" 2869 \n",
" ... \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" 2027418 \n",
" \n",
" \n",
"
\n",
"
14 rows × 1147 columns
\n",
"
"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 \\\n",
"24 NaN Belgium 50.833300 4.469936 0 0 \n",
"71 NaN Hong Kong 22.300000 114.200000 0 2 \n",
"131 NaN France 46.227600 2.213700 0 0 \n",
"135 NaN Germany 51.165691 10.451526 0 0 \n",
"150 NaN Iran 32.427908 53.688046 0 0 \n",
"154 NaN Italy 41.871940 12.567380 0 0 \n",
"156 NaN Japan 36.204824 138.252924 2 2 \n",
"162 NaN Korea, South 35.907757 127.766922 1 1 \n",
"200 NaN Netherlands 52.132600 5.291300 0 0 \n",
"218 NaN Portugal 39.399900 -8.224500 0 0 \n",
"241 NaN Spain 40.463667 -3.749220 0 0 \n",
"260 NaN US 40.000000 -100.000000 1 1 \n",
"278 NaN United Kingdom 55.378100 -3.436000 0 0 \n",
"0 NaN China NaN NaN 548 641 \n",
"\n",
" 1/24/20 1/25/20 1/26/20 1/27/20 ... 2/28/23 3/1/23 \\\n",
"24 0 0 0 0 ... 4717655 4717655 \n",
"71 2 5 8 8 ... 2876106 2876106 \n",
"131 2 3 3 3 ... 38579269 38583794 \n",
"135 0 0 0 1 ... 38168908 38189954 \n",
"150 0 0 0 0 ... 7567906 7568903 \n",
"154 0 0 0 0 ... 25576852 25576852 \n",
"156 2 2 4 4 ... 33227230 33241180 \n",
"162 2 2 3 4 ... 30526012 30533573 \n",
"200 0 0 0 0 ... 8596157 8596157 \n",
"218 0 0 0 0 ... 5566708 5568084 \n",
"241 0 0 0 0 ... 13763336 13763336 \n",
"260 2 2 5 5 ... 103443455 103533872 \n",
"278 0 0 0 0 ... 24370150 24370150 \n",
"0 918 1401 2067 2869 ... 2027418 2027418 \n",
"\n",
" 3/2/23 3/3/23 3/4/23 3/5/23 3/6/23 3/7/23 \\\n",
"24 4727795 4727795 4727795 4727795 4727795 4727795 \n",
"71 2876106 2876106 2876106 2876106 2876106 2876106 \n",
"131 38587990 38591184 38591184 38591184 38599330 38606393 \n",
"135 38202571 38210850 38210850 38210851 38210851 38231610 \n",
"150 7569261 7569483 7569769 7570232 7570743 7571352 \n",
"154 25576852 25603510 25603510 25603510 25603510 25603510 \n",
"156 33252686 33263208 33273639 33282370 33286633 33298799 \n",
"162 30543981 30555102 30555102 30569215 30581499 30594297 \n",
"200 8596157 8598043 8598043 8598043 8598043 8599981 \n",
"218 5568084 5568084 5568084 5568084 5568084 5568084 \n",
"241 13763336 13770429 13770429 13770429 13770429 13770429 \n",
"260 103589757 103648690 103650837 103646975 103655539 103690910 \n",
"278 24396530 24396530 24396530 24396530 24396530 24396530 \n",
"0 2027418 2027418 2027418 2027418 2027418 2027418 \n",
"\n",
" 3/8/23 3/9/23 \n",
"24 4727795 4739365 \n",
"71 2876106 2876106 \n",
"131 38612201 38618509 \n",
"135 38241231 38249060 \n",
"150 7571996 7572311 \n",
"154 25603510 25603510 \n",
"156 33310604 33320438 \n",
"162 30605187 30615522 \n",
"200 8599981 8599981 \n",
"218 5570473 5570473 \n",
"241 13770429 13770429 \n",
"260 103755771 103802702 \n",
"278 24396530 24425309 \n",
"0 2027418 2027418 \n",
"\n",
"[14 rows x 1147 columns]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interest_countries = [\"Belgium\", \"China\", \"France\", \"Germany\", \"Hong Kong\", \"Iran\", \"Italy\", \"Japan\", \"Korea, South\", \"Netherlands\", \"Portugal\", \"Spain\", \"United Kingdom\", \"US\"]\n",
"df_allCountries = newSet.loc[(newSet['Country/Region'].isin(interest_countries)) & (newSet['Province/State'].isnull()) ,]\n",
"df_allCountries\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### évolution du nombre de cas cumulé au cours du temps\n",
"\n",
"On transforma la table pour etre plus comprehensible par matplotlib pour faire le graphique - globalement un transposition en supprimant les data lat/longitude pour le moment et en renommant les colonnes\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" Country/Region \n",
" Belgium \n",
" Hong Kong \n",
" France \n",
" Germany \n",
" Iran \n",
" Italy \n",
" Japan \n",
" Korea, South \n",
" Netherlands \n",
" Portugal \n",
" Spain \n",
" US \n",
" United Kingdom \n",
" China \n",
" \n",
" \n",
" \n",
" \n",
" 1/23/20 \n",
" 0 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 641 \n",
" \n",
" \n",
" 1/24/20 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 0 \n",
" 918 \n",
" \n",
" \n",
" 1/25/20 \n",
" 0 \n",
" 5 \n",
" 3 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 0 \n",
" 1401 \n",
" \n",
" \n",
" 1/26/20 \n",
" 0 \n",
" 8 \n",
" 3 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 4 \n",
" 3 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 5 \n",
" 0 \n",
" 2067 \n",
" \n",
" \n",
" 1/27/20 \n",
" 0 \n",
" 8 \n",
" 3 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 4 \n",
" 4 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 5 \n",
" 0 \n",
" 2869 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Country/Region Belgium Hong Kong France Germany Iran Italy Japan Korea, South \\\n",
"1/23/20 0 2 0 0 0 0 2 1 \n",
"1/24/20 0 2 2 0 0 0 2 2 \n",
"1/25/20 0 5 3 0 0 0 2 2 \n",
"1/26/20 0 8 3 0 0 0 4 3 \n",
"1/27/20 0 8 3 1 0 0 4 4 \n",
"\n",
"Country/Region Netherlands Portugal Spain US United Kingdom China \n",
"1/23/20 0 0 0 1 0 641 \n",
"1/24/20 0 0 0 2 0 918 \n",
"1/25/20 0 0 0 2 0 1401 \n",
"1/26/20 0 0 0 5 0 2067 \n",
"1/27/20 0 0 0 5 0 2869 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_allCountries_final = df_allCountries.transpose()[5:]\n",
"df_allCountries_final.columns = df_allCountries[\"Country/Region\"]\n",
"df_allCountries_final.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On reformatte les dates "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" Country/Region \n",
" Belgium \n",
" Hong Kong \n",
" France \n",
" Germany \n",
" Iran \n",
" Italy \n",
" Japan \n",
" Korea, South \n",
" Netherlands \n",
" Portugal \n",
" Spain \n",
" US \n",
" United Kingdom \n",
" China \n",
" \n",
" \n",
" \n",
" \n",
" 2020-01-23 \n",
" 0 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 641 \n",
" \n",
" \n",
" 2020-01-24 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 0 \n",
" 918 \n",
" \n",
" \n",
" 2020-01-25 \n",
" 0 \n",
" 5 \n",
" 3 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 2 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 2 \n",
" 0 \n",
" 1401 \n",
" \n",
" \n",
" 2020-01-26 \n",
" 0 \n",
" 8 \n",
" 3 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 4 \n",
" 3 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 5 \n",
" 0 \n",
" 2067 \n",
" \n",
" \n",
" 2020-01-27 \n",
" 0 \n",
" 8 \n",
" 3 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 4 \n",
" 4 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 5 \n",
" 0 \n",
" 2869 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Country/Region Belgium Hong Kong France Germany Iran Italy Japan Korea, South \\\n",
"2020-01-23 0 2 0 0 0 0 2 1 \n",
"2020-01-24 0 2 2 0 0 0 2 2 \n",
"2020-01-25 0 5 3 0 0 0 2 2 \n",
"2020-01-26 0 8 3 0 0 0 4 3 \n",
"2020-01-27 0 8 3 1 0 0 4 4 \n",
"\n",
"Country/Region Netherlands Portugal Spain US United Kingdom China \n",
"2020-01-23 0 0 0 1 0 641 \n",
"2020-01-24 0 0 0 2 0 918 \n",
"2020-01-25 0 0 0 2 0 1401 \n",
"2020-01-26 0 0 0 5 0 2067 \n",
"2020-01-27 0 0 0 5 0 2869 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_dates = pd.to_datetime(df_allCountries_final.index)\n",
"df_allCountries_final.index = all_dates\n",
"df_allCountries_final.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On plot le graph en format classique\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAe0AAAEPCAYAAABvOJxyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3XlcVOX+wPHPmYWBYZNNUEBBYYABJUQxt7puFXm10rxuZXazMqub17S6dbXtdlvMFivL7Fddc8nKrlsuaVmaZoYroqCoqCACsu8wM+f3x4jXTAUNGdDv+/XiNcw5zznznSn5znPO8zxfRVVVhBBCCNH8aRwdgBBCCCEaRpK2EEII0UJI0hZCCCFaCEnaQgghRAshSVsIIYRoISRpCyGEEC2EQ5O2oigfK4qSqyjK3ga0bacoygZFUXYqirJHUZRbmyJGIYQQorlwdE/7U+CWBrb9J/CFqqpxwEhg9pUKSgghhGiOHJq0VVXdCBScvU1RlI6KoqxRFGW7oiibFEWJrGsOeJz+3RM40YShCiGEEA6nc3QA5/EhMEFV1YOKonTH3qPuBzwHfKsoyqOAKzDAcSEKIYQQTa9ZJW1FUdyAnsCXiqLUbTacfhwFfKqq6kxFUXoAnymKEqOqqs0BoQohhBBNrlklbeyX64tUVb3uPPvu4/T9b1VVf1YUxRnwBXKbMD4hhBDCYRw9EO03VFUtAY4oijIcQLGLPb37GND/9PYowBnIc0igQgghhAMojqzypSjKIuBP2HvMOcCzwPfA+0AbQA98rqrqC4qimIG5gBv2QWlPqKr6rSPiFkIIIRzBoUlbCCGEEA3XrC6PCyGEEOLCJGkLIYQQLYTDRo/7+vqqISEhjnp5IYRokbZv335KVVU/R8chHMNhSTskJISkpCRHvbwQQrRIiqIcdXQMwnHk8rgQQgjRQkjSFkIIIVoISdpCCCFEC9HcljEVQghxibZv395ap9N9BMQgnbGWzAbstVgs4+Pj48+7RLckbSGEaOF0Ot1HAQEBUX5+foUajUZWzGqhbDabkpeXZz558uRHwJDztZFvZEII0fLF+Pn5lUjCbtk0Go3q5+dXjP2KyfnbNGE8Qgghyk/ZfxqXRhL21eH0f8cL5mZJ2kIIcSXVVsKBb2HVE/BuN5gZCVvecXRUjU6r1cZHRkaaIyIizGazOWrdunWu9R1jNBrj6mszYsSI9tu3b3dunChbPrmnLYQQjammAg7/ACd2wMF1kJ8ONWWg0UHYQIhIhNhRjo6y0RkMBltqauo+gCVLlng8/fTTQQMHDkz7o+ddvHixLCZzFknaQgjxR1UV2xN00idwMhmqi+3b2/WEzn+ByEEQ2BVcWjk2ziZSXFys9fT0tNQ9nzZtmv9///tf75qaGmXQoEFFb7755omz21utVu655552W7dudQ8ODq622WyMGzcu/9577y1MSEiIeP3114/fcMMNFUajMa6iomInwCeffOK1cuVKzyVLlmQMGzYsxNnZ2Zaenu6clZVlmDNnzpFPP/3Ud/v27a5xcXHlS5YsyWjij+CKkaQthBCXw1IDuxfBvqWQ8RNYa8C7A5iHQMxQaHMdGL2bPKypX+0OPnCy1NiY5zQFuFfMuDP2+MXaVFdXayIjI83V1dXKqVOn9KtWrToA8PXXX3ukp6c779mzZ7+qqgwYMCBs9erVbomJiWV1x86bN8/r+PHjTmlpaSlZWVm6mJiYmHHjxuVfSozFxcW6n3/++cDChQtbjRgxIvz7779PjY+Pr+zcuXPUli1bXHr27Fl5ee++eak3aSuK8jHwZyBXVdXfjWhTFEUB3gZuBSqAcaqq7mjsQIUQwuFqyuHIJtj6HhzZaN/mEwZd7wPTzRDSG7R6x8boIGdfHl+/fr3rvffeG3rgwIGUNWvWeGzcuNHDbDabASoqKjSpqanOZyftTZs2uQ0dOrRQq9XSrl07y/XXX196qa8/aNCgIo1GQ5cuXSp8fHxqExISKgFMJlPloUOHDNdM0gY+Bd4F5l1gfyIQfvqnO/D+6UchhLg6VBXbe9PrptvvUbt4Q6/HIPQG6NgfFMXREZ5RX4+4KQwYMKC8sLBQl52drVNVlUmTJmVPnTr1gkPmVbVhA9+Vsz7nysrK33zozs7OKoBWq8XJyenMCTUaDRaLpfn8B/qD6h09rqrqRqDgIk1uA+apdluBVoqitGmsAIUQwmHyD8G3/4T3usPno6HkBAz7P/j7Xhj4AoQNaFYJu7nYuXOns81mw9/f35KYmFjy2Wef+RYXF2sAjhw5os/KyvpNh7FPnz5lS5cu9bJarRw/flz3yy+/uJ/vvD4+PrU7duxwtlqtLFu2zKsp3ktz0xj3tAOBs7/ZZZ7elt0I5xZCiKZXmAE/vAppq6C6BPxjYMi7ENjFIfepW4K6e9pg7zm///77GTqdjqFDh5akpKQ4d+vWLRLAaDTaFixYcCQwMPDMQLV77rmncP369e4mkyk6NDS0KjY2trxVq1bWc1/j+eefz7rtttvC2rRpUxsZGVlZXl5+zU1bVhpyWUJRlBBg5QXuaX8DvKyq6k+nn38HPKGq6vbztH0AeACgXbt28UePykh+IUQzUpxpvwSethoUDXTsC/2fBd9wR0d2hqIo21VV7Xr2tt27d2fExsY2+ootTam4uFjj6elpO3nypLZbt25RmzdvTm3Xrp2l/iOvPrt37/aNjY0NOd++xuhpZwLBZz0PAk6cr6Gqqh8CHwJ07dpVVu8RQjhebRUc32rvWR//BXQGiL4DbphiHw0umsTAgQPDS0pKtLW1tcrUqVOzr9WEXZ/GSNrLgUcURfkc+wC0YlVV5dK4EKJ5UlWoLITDG2D/Ckj/zn4J3L0N9P47xN0F3qGOjvKas23btj+8EMu1oCFTvhYBfwJ8FUXJBJ4F9ACqqn4ArMI+3Ssd+5Sve69UsEIIcVlUFU4dgANrIfkL+wIoAG4BEPlnCOsPplvA4ObYOIWoR71JW1XVi663p9pvij/caBEJIcQfpapQmg2Hf4T0dXDoe3vvGqC1GQY8B4Hx0L43aK65sUyiBZMV0YQQVwdLzf8S9P6VUHbSvt21NZgSod310LEftAq++HmEaMYkaQshWq7aKvu0rJT/2i99W6tBb4QOf4LQG+2JOqCz9KbFVUP+TxZCtDyFGfapWW93hq/uta9WFn8PjP4SnjoOoxbB9ROg7XWSsJvIuWU2Z82a5TN27Nh2V/I1hw0bFvLJJ594AeTk5GijoqLMb7/9ts+VfE1Hk562EKLlyNwOa5+GzF/t86hD+8Adc67pNb8F5Ofna/v3728aN25c3mOPPXZJhUZaGvkKKoRo/rL3wMe3wMc32xdA6f13eGw33P1f+wIokrCbtQMHDjj16NHDZDKZzD169DAdPHjQCew95XHjxgXHxcVFBgUFdarrNVutVu666652YWFh0X379g278cYbw+r2nau0tFQzYMCA8OHDh+c/+eSTeQA2m40HH3wwKDw8PNpkMpnnzp3rBbBy5Ur3hISEiFtuuaVDaGho9JAhQ0JtNhsAixcv9gwNDY2Oj4+PGDduXHDfvn3DmuTDuUTS0xZCNF+VRfDNZNi3HFx9ofuD0OdxWUr0YpY+HEzuvkYtzUlrcwW3v9eg0px1z4uLi7UDBw4sBpgwYUK70aNH5z/66KP5b731ls9DDz0UvH79+kMAOTk5+qSkpNRdu3Y533HHHWH33ntv4aWU6pw2bVrwqFGjTj377LO5ddvmzZvXKjk52WX//v0p2dnZuoSEhKibbrqpDGD//v0uu3btOhwSElIbHx8fuW7dOrc+ffqUP/bYY+1/+OGH1MjIyJrBgwc324n60tMWQjRPKUvhowGwbxl0Gg4TfoKbX5KE3UzVleas+/nHP/5xZmXMnTt3uj7wwAMFAA899FDB9u3bz0yIHzJkSJFWqyU+Pr4qPz9fD5dWqrNHjx4la9asaXV2EZJNmza5/+UvfynQ6XQEBwdbunfvXvbTTz8ZATp16lTesWPHWq1WS3R0dMWhQ4ecdu3a5RwcHFwdGRlZAzBy5MiLFclyKOlpCyGal7JcWP887JpvL4E55kv7VC3RMPX0iJubupKa8L8SnQ0t1QkwYsSIwuPHj5fdfPPN4Zs2bUrz8vKyXex4g8FwZqdWq8VisTSoBkdzIT1tIUTzUXgU5vazJ+yej8LUdEnYV4G4uLjyjz76yAtgzpw53l27di27WPuGluqsM3369Nw+ffqUDBo0KKyqqkq58cYbS7/66itvi8XCiRMndNu2bXPr06dP+YWOj42NrTp+/LghLS3NCWDx4sXN9nKO9LSFEM3DT2/CxtdBo4Px30FQ1/qPES3C+++/f+yee+4JefvttwN8fHws8+bNy7hY+4aW6jznNbLuvPPOkGHDhoUuW7bs8JYtW9yioqKiFUVRn3/++cx27dpZ9uzZc95j3dzc1DfeeOPoLbfcEu7t7W2Ji4u7YIJ3NIddFujataualJTkkNcWQjQjNRXw4yuw+W0I6QM3/xvadHZ0VM3W1Vqa81xNXaqz7vVsNhtjx45tFx4eXnX24LamdKVLcwohxOWx2eCLuyF9vb1wx1/mgUbr6KhEM9DUpTrfeust30WLFvnW1tYq0dHRFZMnT26WX4IkaQshHKOiAFZOsifsAc9Br0mgKI6OSjQTTV2q89lnn811VM/6UkjSFkI0vdpKWDgCMrfB9RMlYQvRQJK0hRBNKzcVFv4Fio7ZL4ebb3N0REK0GJK0hRBNpzwfFo+BmrLTCXuIoyMSokWRpC2EaBr5h2De7VCSCfessBf5EEJcEknaQogry2a1l9Hc+Zl9DvbYZZKwr0JarTY+PDy8su75smXL0iMiImocGdPVSJK2EOLKqa2CVVPsCTvyz/ZR4r7hjo5KXAF1a49faH9tbS16vVRj+6NkGVMhxJVRkg2zr7cn7F6TYOQCSdjXmFmzZvkkJiZ26NevX1ifPn1MxcXFmh49epjMZnOUyWQyz58/vxVAWlqaU4cOHaJHjhzZPiwsLLpXr17hZWVlCsDevXsNPXv2NEVERJjNZnNUSkqKAWDatGn+MTExUSaTyfz3v/+9rSPfZ1OSnrYQonGpKvz0BmyeBdZa+MtnEDXY0VFdM6ZtnhacXpjeqKU5w7zCKl7s9WKDS3MGBwdXr1u37hDAjh073Pbs2ZPi7+9vra2t5Ztvvkn39va2ZWdn67p37x45evToIoBjx445z58//3DPnj2P3nrrrR3mzZvnNXHixILRo0eHTpky5eTYsWOLKioqFKvVqnz99dce6enpznv27NmvqioDBgwIW716tVtiYuJF1zS/GkjSFkI0nvJ8+O452DHPviTpTf+Cttc5OirRBC50ebxPnz4l/v7+VgCbzaZMmjQpaOvWrW4ajYbc3FynzMxMHUBgYGB1z549KwHi4uIqMjIyDIWFhZqcnBynsWPHFgEYjUYVUNesWeOxceNGD7PZbAaoqKjQpKamOkvSFkKIhio4DJ8Oto8O73Y/JL4GGrkD19Tq6xE3NaPRaKv7fc6cOd75+fm65OTk/QaDQQ0MDOxUWVmpAXBycjq7ZKZaWVmpuVBtDFVVmTRpUvbUqVOb5VKjV5L8ixJC/HE7PoN34u3zr8d/D4Nel4Qtfqe4uFjr6+tbazAY1BUrVrifOHHC6WLtvb29bQEBATWfffZZK4DKykqltLRUk5iYWPLZZ5/5FhcXawCOHDmiz8rKuiY6odfEmxRCXCEVBbBpJvzyAQR1gyHvgp/J0VGJZmr8+PEFiYmJYTExMVHR0dEVoaGhVfUdM3/+/CP3339/+xdffLGtXq9Xv/zyy0NDhw4tSUlJce7WrVsk2HvzCxYsOBIYGHhFi4o0B1KaUwhxefIPwZf3QO5+6Ngfhs0FZ09HR3XVu1ZKc17LpDSnEKJxJX8FX98PGj2MXgxhAxwdkRDXBEnaQoiGqy6FDf+GX+ZAUALc9h74hjk6KiGuGZK0hRANc3AdrPkHFByCiFvh9tlyOVyIJtagpK0oyi3A24AW+EhV1VfO2e8JzAfanT7n66qqftLIsQohmprVAvuWwq4FcOh7cPOHMV9BWH9HRybENanepK0oihZ4DxgIZAK/KoqyXFXVsyfRPwzsU1V1sKIofkCaoigLVFWVxeKFaGksNXBsC6SthpT/QlkOuPrBwBeh+wTQXXSWjhDiCmpITzsBSFdV9TCAoiifA7cBZydtFXBXFEUB3IAC4Kofei/EVaGmAnL2QtYOOPoTHP4RqktAa4DwgRA7yn45XOZdC+FwDUnagcDZK+xkAt3PafMusBw4AbgDI1RVtSGEaF4sNfaVy7KSIDMJsrZDTgqoVvt+z2CIvh1MidDhRnBydWy8osU4fvy4buLEicE7d+508/T0tOj1enXy5Mkn65YgFY2jIUlbOc+2cyd33wzsAvoBHYF1iqJsUlW15DcnUpQHgAcA2rVrd+nRCiEuXVWxfRBZ6ko4uB5qSu3bnT2hTSz0ngSB8dA2DjyumWJJohHZbDYGDx4cNnr06PwVK1YcAThw4IDTl19+2aohx1ssFnQ6GRfdEA253pUJBJ/1PAh7j/ps9wJfq3bpwBEg8twTqar6oaqqXVVV7ern53e5MQshGqIwA5ZOhNc6wpL7IGMzxAyFoXPhoZ/hyaNwzwroPx0iB0nCFpdtxYoV7nq9Xn3iiSfy6raZTKaaZ555JtdisfDggw8G1ZXRnDFjhi/AypUr3bt3724aPHhwaERERHRaWppTaGho9IgRI9qHh4dHDxkyJHTp0qXuXbp0iWzfvn3Mhg0bjAAbNmwwxsXFRUZFRZnj4uIid+/ebQB7GdCbbrqpY58+fcLbt28fM2HChCCAN9980/e+++47k8NmzpzpO378+KCm/YQaT0O+2vwKhCuKEgpkASOB0ee0OQb0BzYpiuIPRACHGzNQIUQD2azw46uw8XXQaKHrX6HTnRDYVe5LXwNOPP1McPXBg41amtMQHl7R9t8vXbAQSXJyskvnzp0rzrfvrbfe8vX09LTu3bt3f2VlpdKtW7fIwYMHlwDs2bPHdefOnSmRkZE1aWlpTsePH3devHjx4fj4+KOdO3eOWrBggU9SUlLqwoULW7300ktt+vbteyg2NrZq27ZtqXq9nqVLl7o/8cQTQWvXrj0EsG/fPuPu3bv3ubi42MLCwmKmTJmSc9999xVER0ebq6urMw0Ggzp//nzfOXPmHG3Mz6cp1Zu0VVW1KIryCLAW+5Svj1VVTVEUZcLp/R8ALwKfKoqSjP1y+pOqqsqSekI0tbI8e6/6yI/QeaS9F+0Z6OioxDXm7rvvbrdt2zY3vV6vBgUFVaemphqXL1/uBVBaWqrdt2+fs5OTk9q5c+fyyMjIM7OMAgMDqxMSEioBTCZTZb9+/Uo0Gg1dunSp+Ne//tUWoKCgQDtixIjQjIwMZ0VR1Nra2jO3cHv37l3i4+NjBQgLC6s6dOiQISwsrKxXr16lixcv9uzUqVNVbW2tUvcaLVGDbiKoqroKWHXOtg/O+v0EcFPjhiaEuCSqCl+Ph2M/Q+IM6P6AoyMSDnCxHvGV0qlTp8ply5Z51T3/7LPPjmVnZ+u6du0aFRgYWDNz5sxjw4YN+80Yp5UrV7qfXbYTflueU6PR4OzsrAJotVqsVqsC8OSTTwbeeOONpevWrTuUlpbm1K9fv4jzHa/Vas8k9AceeODUSy+9FGAymaruuuuuFt2hlGtlQlwtdn8Oh3+Am/8tCVs0qcGDB5dWV1crr7766pnBSmVlZRqAgQMHFr///vt+1dXVCsCePXsMJSUll517SkpKtEFBQTUAc+bM8W3IMf369SvPzs52+u9//+tz3333FVzuazcHMlxPiKtB7n5Y9jD4x0D8vY6ORlxjNBoNK1asOPTwww8Hz5o1K8Db29tiNBqtzz33XOZf//rXwoyMDEOnTp2iVFVVvL29a1etWnXocl/rySefPDl+/PjQWbNmBfTp06ek/iPsbr/99sI9e/YY/fz8rJf72s2BlOYU4mqw7BF75a1Je8CttaOjEVeQlOa8PH379g2bNGlSzm233Vbq6Fjqc7HSnHJ5XIiWrrrMnrA7/0USthDnOHXqlDYkJCTG2dnZ1hISdn3k8rgQLd2BNWCphE7DHR2JEM2Or6+vNSMjY6+j42gs0tMWoiWzWuDbaeAbAe17OjoaIcQVJj1tIVqy3BQoPQED59oXUhFCXNWkpy1ES5ax2f7Yrodj4xBCNAlJ2kK0ZBk/gVcItAqut6kQouWTpC1ES2WzwdHNENLb0ZEIgdFojHN0DNcCSdpCtFSFR6CqCILPLW8vRPNgsVgcHcJVR5K2EC1VXqr90dfk2DiEOMu5JTcBBgwY0DE6OjoqLCws+vXXXz+z9KjRaIx79NFHAyMiIsyxsbGRx48fl8HR9ZAPSIiWas8X4NwK2sQ6OhLRjHw3b39wQVZZo5bm9A50q+g/NqrBhUjOLrkJsGDBggx/f39rWVmZEhcXZ77rrrsKAwICrJWVlZoePXqUvfPOO1kTJkwIeuedd/xee+217MaM/WojPW0hWiKbDdK/g+jbQe/i6GiE+I1zS26++uqr/hEREeb4+PiokydP6lNSUpwB9Hq9OnLkyGKA+Pj48qNHjzo5KuaWQnraQrRERUehphTaXOfoSEQzcyk94ivl7JKbK1eudP/xxx/dk5KSUt3d3W0JCQkRlZWVGgCdTqdqNPa+o06nw2KxKBc4pThNetpCtEQ5KfbHgE6OjUOIehQVFWk9PT2t7u7utp07dzrv3r3b1dExtWSStIVoiU6l2R/9IhwbhxD1GDZsWLHFYlFMJpP56aefbhsbG1vu6JhaMinNKURLtOwROLAWph50dCSiiUlpzquflOYU4mpTmAHeoY6OQgjRxCRpC9ESFRwBL0naQlxrJGkL0dKU5kBJJvibHR2JEKKJSdIWoqU5tsX+2F7WHBfiWiNJW4iWJjMJdM6yEpoQ1yBJ2kK0NCeToXUUaGVtJCGuNZK0hWhJVBVy9oJ/jKMjEeI36kpzpqWlOX3wwQfe9bVPS0tzCg8Pj77ykV1dJGkL0ZKUnoSKfFkJTTRbBw8eNCxevLjepC0ujyRtIVqSnL32R0naopl65plnApOSktwiIyPNzz//fOu0tDSn+Pj4CLPZHGU2m6PWrVv3u2VM4+PjI7Zs2XKm8k2XLl0if/nlF6mEcx5yU0yIluRksv3RX64qivNb+/5bwaeOH23U0py+we0rbn5oUoMKkbz00ktZM2fO9N+wYUM6QGlpqWbTpk0HjEajmpycbBg1alSHvXv37j/7mHHjxp366KOPfHv27Hl8z549hpqaGqV79+6VjfkerhaStIVoSU4mQ6t24Ozp6EiEaJCamhrlvvvua79v3z4XjUbD0aNHDee2GTduXOGMGTPaVFdXZ37wwQe+o0ePliVZL6BBSVtRlFuAtwEt8JGqqq+cp82fgLcAPXBKVdUbGzFOIQTAqQPQWhZVERfW0B5xU3nppZf8W7duXbtkyZIjNpsNFxeX+HPbuLu72/r06VOycOHCVsuXL/fevn37PkfE2hLUm7QVRdEC7wEDgUzgV0VRlququu+sNq2A2cAtqqoeUxSl9ZUKWIhrWkkWtLve0VEIcUGenp7WsrIybd3z4uJibVBQUI1Wq+Xdd9/1sVqt5z1uwoQJp4YNGxbWrVu3Mn9///M3Eg0aiJYApKuqelhV1Rrgc+C2c9qMBr5WVfUYgKqquY0bphCC2kqoLAT3AEdHIsQFJSQkVOp0OjUiIsL8/PPPt540aVLuokWLfGJjYyMPHDjg7OLiYjvfcX369KlwdXW13nvvvXJp/CIacnk8EDj7cksm0P2cNiZAryjKD4A78LaqqvMaJUIhhN3R08uXyhxt0QxVVFTsBDAYDOrPP/984Ox9Bw4cOHNl9r333ssCiIiIqDl48GBK3faMjAy9qqrKHXfcUdJUMbdEDelpK+fZdm4Rbh0QDwwCbgamKYpi+t2JFOUBRVGSFEVJysvLu+RghbimHfwWdC7Q4U+OjkSIRvXuu+/6XH/99VHTp0/P0mq19R9wDWtITzsTCD7reRBw4jxtTqmqWg6UK4qyEYgFfvNtS1XVD4EPAbp27Xpu4hdCXExOCgTEgF6mr4qryyOPPJL/yCOP5Ds6jpagIT3tX4FwRVFCFUVxAkYCy89pswzooyiKTlEUI/bL5/sRQjQOVYXc/eAX4ehIhBAOVG9PW1VVi6IojwBrsU/5+lhV1RRFUSac3v+Bqqr7FUVZA+wBbNinhe29koELcU0py4GKU3I/W4hrXIPmaauqugpYdc62D855PgOY0XihCSHOOHn6O7AkbSGuabL2uBAtQe7pwbeyfKkQ1zRJ2kK0BPnpYPQBoxRPEs1XXXlOceVI0haiJcg/BD5hjo5CCOFgkrSFaO5sVsjbL0lbtAjFxcWaHj16mMxmc5TJZDLPnz+/FUBaWppTaGho9NChQ0NMJpP5lltu6VBaWqoBmDJlSpuYmJio8PDw6FGjRrW32eyLpiUkJEQ89NBDgZ06dYoKCQmJWbNmjZsD31qzIFW+hGjuds6HinyISHR0JKIFKPjqQHDtyfJGLc2pD3Ct8L7T1KBCJEaj0fbNN9+ke3t727Kzs3Xdu3ePHD16dBFARkaG85w5czJuuumm8uHDh4fMmDHD74UXXsiZOnVq7uuvv54NcPvtt4d+/vnnnqNHjy4GsFgsSnJy8v7Fixd7vvDCC21vueWWAxd7/aud9LSFaO72LwfvjhD5Z0dHIkS9bDabMmnSpCCTyWTu27evKTc31ykzM1MHEBAQUHPTTTeVA9x99935W7ZscQNYvXq1e+fOnSNNJpN5y5Yt7nv37j2zgtDw4cMLAXr27FmemZnp5Ij31JxIT1uI5qy2EjI2Q/w9oJxvRWEhfquhPeIrZc6cOd75+fm65OTk/QaDQQ0MDOxUWVmpAVDO+X9YURQqKiqUxx9/vP0vv/yyLywsrHby5Mltq6qqznQonZ2dVQCdTofVar3m/xFIT1uI5uzoFrBUQsf+jo5EiAYpLi7W+vr61hoMBnXFihXuJ06cONM7zs7Odlq/fr0rwMKFC72Pj3VLAAAgAElEQVR79uxZVlFRoQEICAiwFBcXa1asWOHlqNhbAknaQjRn6d+B1gAhvRwdiRAXVVtbi5OTkzp+/PiC3bt3u8bExETNnz/fOzQ0tKquTYcOHao+/vhjH5PJZC4sLNRNmTIlz9fX1zpmzJg8s9kcnZiYGBYbG1vuyPfR3MnlcSGaq/xDsHuRPWE7uTo6GiEuKikpySU4OLi6TZs2ll27dqWeuz8tLc1Jo9GwcOHCY+fumzVr1olZs2adW4iKbdu2pdX93qZNG0tWVlZy40feskjSFqK5Wvs0WGvh5pcdHYkQF/Xaa6/5zZkzp/WMGTMcej/9WiBJW4jm6Nf/gwNrYMBz0DrS0dEIcVFPPPFE3hNPPJF3sTYRERE1Bw8eTGmqmK5Wck9biOYmZSl88ziYEqHHo46ORgjRjEjSFqI52bUQvr4fgrvDnR+DVi6GCSH+R/4iCNEcqCqsmwZb3rEn7NGfg1OjLmolhLgKSNIWwtFqK+G/D8K+ZdBtPCS+Bhqto6MSQjRDcnlcCEfKTYUFw2Hfcug3DW59XRK2aJHOLsu5ePFiz/bt28ccPHjQIcuOvvXWWz4mk8lsMpnM4eHh0XVFSy7Vli1bXBYvXuxZ93zy5Mltp0+f7t94kV466WkL4QiVhbDuWdjxH1C0cMcciB3h6KiE+MOWLVvmPmXKlOA1a9YcDA8Pr2nIMbW1tej1+kZ5/UOHDulnzpzZZteuXft9fHysxcXFmuzs7MvKdUlJScakpCTXESNGFDdKcI1AetpCNCVVhdRV8H4ve8K+/mGYlCwJW1wV1qxZ4/bwww+HLF++PD06Oroa4MCBA049evQwmUwmc48ePUx1ve9hw4aFjB8/Pqh79+6miRMnBpWUlGiGDx8eEhMTExUVFfWbkp7x8fERZrM5ymw2R61bt+6iKw1lZ2frXV1dbZ6enlYAT09PW2RkZA3Ye86xsbGRJpPJPHDgwI55eXlasJcA3bhxo/H08brAwMBOVVVVyssvv9x2xYoVXpGRkea5c+d6Aezfv98lISEhIigoqNO//vWv1lfqs7wQ6WkL0VSydsC30+DoT+BrgvHfQ1C8o6MSV5mlS5cG5+bmNuooxtatW1fcfvvtF104paamRhkxYkTYt99+mxYXF3dm6dIJEya0Gz16dP6jjz6a/9Zbb/k89NBDwevXrz8EcOjQIefNmzcf0Ol0PPLII4F9+/Yt+fLLLzNOnTql7dq1a9SQIUNK2rZta9m0adMBo9GoJicnG0aNGtVh7969+y8Ux/XXX1/h6+tbGxwc3KlXr16lQ4cOLawr8zlu3LjQN99889igQYPKJk2a1PbJJ59s+/HHH5/3fTk7O6v/+Mc/TiQlJbnOmzfvGMDkyZNd0tPTnbds2ZJWVFSkjYqKipk6dWqewWBQL+dzvRzS0xbiSis8Cl/dB3P7Ql6q/b71Q1skYYuril6vV7t06VL2wQcf+J69fefOna4PPPBAAcBDDz1UsH37dre6fUOHDi3U6ex9xx9++MHjzTffbBMZGWnu3bt3RHV1tZKenu5UU1OjjB49OsRkMpmHDx/e8dChQ84Xi0On07Fx48aDCxcuPBQeHl711FNPBU+ePLltfn6+trS0VDto0KAygPvvvz9/69atbhc71/ncdNNNRS4uLmqbNm0s3t7etXVlR5uK9LSFuFKqSuCnN+Dn90DRQJ8p0OsxcPZwdGTiKlZfj/hKURSF5cuXH77hhhtMTz31VMArr7xysr5j3NzcbHW/q6rKV199lR4bG1t9dpvJkye3bd26de2SJUuO2Gw2XFxc6v22q9Fo6Nu3b0Xfvn0rEhMTS8aPHx/yzDPP5FyovU6nU61WKwAVFRUXLf95dq9aq9VisViatFyo9LSFaGxVxfDTm/BmjP0xZhg8ugP6T5OELa5q7u7utjVr1hz86quvfN58801fgLi4uPKPPvrIC+y1trt27Vp2vmP79u1bMnPmTH+bzZ7HN2/e7AL2Up9t2rSp1Wq1zJ4926cuuQKEhoZGn3uejIwM/U8//XTm9kBSUpIxMDCwxsfHx+rh4WFds2aNG8D//d//+fTo0aMMIDg4uHrbtm2uAAsWLDhTGtTDw8NaVlbWrPKk9LSFaCyqap9rveJv9sQdfjP0eRzadXd0ZEI0GX9/f+uaNWsO3HjjjZF+fn6W999//9g999wT8vbbbwf4+PhY5s2bl3G+41555ZUTDzzwQLvIyEizqqpKUFBQ9YYNG9InTZqUO2zYsI5Lly716t27d6mLi4sN7APGVFX9XS+3pqZGmTJlSlBOTo7eYDCo3t7etXPnzj0G8Mknnxx56KGH2v/tb3/TtGvXrnrRokUZAE899VTOiBEjOnz++ec+ffr0Kak7V2JiYunrr7/eJjIy0vz4449nX4GP65Ipqtpk989/o2vXrmpSUpJDXluIRlecCUsnwpEfoW0XGDQTArs4OipxFVIUZbuqql3P3rZ79+6M2NjYU46KyREWLVrkeejQIcM///nPXEfH0th2797tGxsbG3K+fdLTFuKPSv4KVj8BlhpInAHx40DnkDUlhLhmjBo1qtnMnW5KkrSFuFzWWvj+Rdj8tr13ffv7UkZTCHFFSdIW4nJUl8HiMXD4B+gyFga9KRW5hBBXnPyVEeJSFWfBopGQkwJD3oW4u0Bp0lkfQohrlCRtIS5FZRF8drs9cQ//FMxDHB2REOIa0qD5Z4qi3KIoSpqiKOmKojx1kXbdFEWxKopyZ+OFKEQzUZIN84dBwWEYvVgSthCiydWbtBVF0QLvAYmAGRilKIr5Au1eBdY2dpBCOJzNBl/fb78kfsccCO3j6IiEaFYURYm///77g+qeT58+3X/y5MltL3bMypUr3c8uADJs2LCQTz75xOtix9QnMDCw0+VW9TrX2eVGm4uG9LQTgHRVVQ+rqloDfA7cdp52jwJLgKtuzpy4xllq7IPOMjbBoNehk1xIEuJcTk5O6qpVq7wuJWF+//337ps2bbrk9b/Px2azcfZqaVerhiTtQODstWwzT287Q1GUQOAO4IOLnUhRlAcURUlSFCUpLy/vUmMVwjFWT4W0VTDgObhujKOjEaJZ0mq16tixY/P+/e9/+5+778SJE7qbb765Y0xMTFRMTEzUt99+65qWluY0b948vw8++MA/MjLSXLe86I8//ugWFxcXGRQU1OnsXve0adP8Y2Jiokwmk/nvf/97W7CX7ezQoUP0XXfd1S46Otp86NCh3yyQMGDAgI7R0dFRYWFh0a+//vqZQiZGozHu0UcfDYyIiDDHxsZGHj9+XAeQmprqdN1110XGxMREPfbYY2euEhw9elTftWvXiMjISHN4eHh0XayO0JBvROcbFnvuMmpvAU+qqmpVLjKKVlXVD4EPwb4iWkODFMIhVBW2zILtn0KvSdD7746OSIh67dv/ZHB52YFGLc3p6maqMEe9Wm8hkqlTp+Z26tQp+rnnnvtNsZAHH3wwePLkyTk333xz2cGDB51uvvnm8MOHD6eMHTs2z83NzfrCCy/kAMydO9c3JydHn5SUlLpr1y7nO+64I+zee+8t/Prrrz3S09Od9+zZs19VVQYMGBC2evVqtw4dOtRkZGQ4z507N2P+/PnHzo1nwYIFGf7+/taysjIlLi7OfNdddxUGBARYKysrNT169Ch75513siZMmBD0zjvv+L322mvZEydObDd+/Pi8Rx55JP/ll1/2qzvPxx9/7N2/f//iV1999aTFYqG0tNRh65E3JGlnAsFnPQ8CTpzTpivw+emE7QvcqiiKRVXVpY0SpRCOsPMzWDcdOvaDvs84OhrhIKqqklmaSXpROifKT1BaU0qlpZJKSyXV1mqqLFXUWGuotdX+79FWQ621llqb/afGUo2+rBrnkmpcSqr5U9wdjP/zs45+a43O29vbNnz48PxXXnmldd0a4QCbN2/2OHjwoEvd87KyMm1hYeF5E9+QIUOKtFot8fHxVfn5+XqANWvWeGzcuNHDbDabASoqKjSpqanOHTp0qGnTpk1N//79y893rldffdX/m2++aQVw8uRJfUpKinNAQEC5Xq9XR44cWQwQHx9fvn79eg+AHTt2uK1evfoQwIMPPpj/4osvBgFcf/315Q8++GBIbW2t5s477yzs2bNnZWN8XpejIUn7VyBcUZRQIAsYCYw+u4GqqqF1vyuK8imwUhK2aNGObIRVT0DojTBmCWiaVaEfcYVVWarYlLWJ7499z8bMjZTUlPxmv17R0crmjG+1E17VOjyrNPhUgEeFikeZDbcyK25lFlxLLbiU1uBSWo3G+r+Li5WWQvjzlYm9IT3iK+kf//hHTpcuXcwjR448sxa6qqokJSXtd3Nzq/cKq7Oz85k2dbUxVFVl0qRJ2VOnTv3N+uppaWlORqPRxnmsXLnS/ccff3RPSkpKdXd3tyUkJERUVlZqwF6KU3P637ROp/tNeU2NRvO7GBMTE8s2btyYtmTJEs9x48aF/u1vf8t55JFH8ut7L1dCvUlbVVWLoiiPYB8VrgU+VlU1RVGUCaf3X/Q+thAtTvZuWDgSXH1h6IeSsK8hRVVFLEpdxLJDy8gqy8JV48xIuhFV5UXQgSIMOYXYjmdhzS8AS9F5z6Ho9Wh9fdH5tEbXwQetjw86Hx90vj5ofXzR+frg1L59E7+zpuPv728dPHhw4cKFC31HjRqVD9C7d++SV199tfWLL76YA7BlyxaXnj17Vrq7u1tLSkq09Z0zMTGx5Lnnnmv7wAMPFHh6etqOHDmid3JyuugXgKKiIq2np6fV3d3dtnPnTufdu3e7Xqw9QJcuXcrmzp3rPXHixIK5c+f61G0/cOCAU2hoaM3jjz9+qry8XLNjxw4j0DyTNoCqqquAVedsO2+yVlV13B8PSwgHyUmBhSPAxQvGrwf3AEdHJK6wWlst+/P3My/lP+w4/BMhh8oZVO7LDSdCcT6Wi61oAwBaT090ISE49eyFztcXbatWaL287I+tWqHz9kLr7Y3G3Z2Lje25FjzzzDMn//Of/5y5J/zhhx8eHz9+fDuTyWS2Wq1K9+7dS3v27Hls2LBhRXfeeWfH1atXt3rrrbd+d0+6ztChQ0tSUlKcu3XrFglgNBptCxYsOKLT6S6YuIcNG1b84Ycf+plMJnPHjh2rYmNjz3sJ/WyzZ88+NnLkyA6zZ8/2HzJkSGHd9rVr17rPmjUrQKfTqUaj0bpgwYIjDf80GpeU5hSiTs4++HSQ/fexS6FNrGPjEVdEeW05J0uy2P/rt+Tv20lRyi68cyoxZYNH+f/+HhrMUThHROJ2Qx/0we1wjoxA0Tl+EUkpzXn1k9KcQtRn/wpY/jfQOsFfV4N3B0dHJBpBcXUxu3J3sTPzFyzJ+3Hdnkbb9CJMWSodgY6AVatQG+iH1w3X4R7dCefOnXGOiEDr6eno8IX4HUna4tpmqbZP6fr2n+AZDKM+l4TdwllsFn44/gPfZnzL/l9Xk7DfSmKSims1WHUK5e1bUzAiGp+IzoQk9McpMBCNi0v9JxaiGZCkLa5NNhsc3gAb/g1ZSdDhTzDs/+yDz0SLVFxdzPz981mbsZbck4cZtlXh3q0WAFwH9Mdr6FCMCd3RutU7HkmIZkuStrh2VBZBzl44sglSV9p/d/GGwW9D3FgZJd7CqKrKvvx97M7bzTdHvmHvqb2oqspNJe14+RM9mooqPG+7DZ8JD2IIDa3/hEK0AJK0RctXVQxFx6HsJJTlnX7MhbKcsx5z7O0AFA0EdrUn684jQe/s2PjFBZXXlpNZmkluRS6nKk+RXZ7NibITHC4+zMHCg1RZqwAI8QhhXOTdJP43C/W/a9C3b0fA00/jesMN1/xIbnF1kaQtWo6acsjaYb+cfWInFByBomNQdZ75sk5u4NYa3PyhtRk69AWPNuAfA4HxYPRu+vjFBZXUlPDryV85UHCAtMI0TpSdIKss63eLmigo+Ln4EewRzJ2mO4loFU4XSyC6+cspe3UJ1qIi3Pr3J2D6NPT+v1sCu0moqoq1oApLQRXWkhqspTXYTj/WPXftFoBH3+D6TybEOSRpi+at4AjsXw7p6+Hoz2CrtW/3CgWfMAjqBl7toVU7cG8Drn72RG1w2Hr+ooEqaitYm7GWxWmLSclPAexJub1He9p5tCPGN4Yg9yAC3QLxN/rjZ/TD1+ADRzOpSk2jfPnPVGybQ/mxY6DT4T5wAO4DBuA5aFCTvxdblYWq1AIq9+VTfaQEW2nNb/YrBi1aDye07k44tXNH53v1Xd3RarXx4eHhlVarVQkLC6v84osvMtzd3c+7Wtn5PPXUUwGvvPLKyfpbXpq0tDSnP//5z+EHDx5MaexzO4IkbdH81FbB7kX2tb+zttu3tY6G6x+CkN72S9uuPhc/h2jWjpccZ/y34zlRfoI2rm2YGDuRLv5d6OTbCaP+f7UubJWVlG3aRHX6Fiq2/MzRjAysp+zTkbWtWmGIjMTnr/diTOiOoUPT37e2llRT+kMmZdtOgsWGxl2PoUMrDKEe6Fu7ojmdqDWGehf9avEMBoMtNTV1H8CQIUNCZ86c6ffcc8/l1HeczWZDVVVmzZrV5kok7auNJG3RfFSXwfZPYMu79vvS/p1g4AsQfYe9Jy1aPKvNyuM/Ps53x77DSePE+wPeJyEgASft/yoqVuzcScUv2yhZtYrq9HT7SH/AOToat149MXa/HkPHDjh36oTiwMGDFcl5FC5JR62xYoxrjWs3f5zaeaBo5B567969y/bs2eMC8Nxzz/kvWLDAF+Duu+/Omz59em5aWppTYmJieM+ePUu3b9/uFh0dXVFdXa2JjIw0m0ymyhkzZmSd3TuePn26f1lZmfaNN9448eOPPxrvv//+EKPRaOvevXvZ999/73nw4MGUtLQ0p9GjR4fWrS/+9ttvHxs4cGC9q6C1NJK0heNVFMC2D2Hr+/b706E32tf8Dr0BZBDRVSOzNJP71t7HifIT3Bp6KzeF3ETvwN4AWPLzKV66lKIlX1Nz+DAAzjEx+Dz4AK7dr8c5JqZZTdUqXneU0u+OoW/rivfoKPS+zWee96T9x4JTy6satTRnpKtzxVtR7RpUiKS2tpa1a9d63HTTTSWbNm0yLly40Gf79u37VVUlPj4+qn///qW+vr7Wc0tqGo1Gr7qeelpamtOFzj9+/PjQ2bNnZwwcOLB84sSJgXXb27Zta9m0adMBo9GoJicnG0aNGtVh7969+//oe29uJGkLxynOtCfqpE+gthwiBkGfyRDUtf5jRYuSVZbF+G/HU1RdxJPdnmRM1BgURcFaVsbJ6c9Ssspe2sDYtSteo0fjOfjPzXZFstKNmZR+dwxjvD9eQ8NQtP/r7dtsNsrLy3/zU1FRQWVl5ZmfiooKzGYz8fHxDnwXja+upwzQvXv30scee+zUjBkz/G699dYiDw8PG8CgQYMKN2zY4D58+PCii5XUvJBTp05py8vLNXU96Hvuuadg3bp1rQBqamqU++67r/2+fftcNBoNR48eNTT2e2wOJGmLppe9G36ZA3sWg6pCzDDo/XfwNzs6MnEFbMnawqPfP0qNrYYPBnxAr8BeAJT9+CNZU6Ziq6jAa+zdeA4egkunGAdHe3FVBwopXnUEfaQnZd0MpP6ylby8PE6dOkVRURFlZWVcqJ6Ds7MzLi4uuLi4YLM1eHzWJWtoj7ixnX1Pu87FaltcqKQm2Etnnv0ZVVVVaeo730svveTfunXr2iVLlhyx2Wy4uLhcXd+KTpOkLZpGdSnsXWJfMvTETtA5Q7fx0ONhuV99FVJVlT2n9jBrxyy2ndxGuFc4L/R8gRjfGGqOHePki/+ifNMmDOFhBDz3HMYW0OusTC8kZdFmDrhlcyQrl9pP7TMZXF1d8fX1pWPHjri7u+Pu7o6rq+uZH6PRiIuLC5prcPGefv36lf31r38NefHFF0+qqsqqVau8Pv3008Pna6vT6dTq6mrFYDCoQUFBloKCAt3Jkye1np6etrVr13r279+/xM/Pz+rq6mr77rvvXPv371/+2WefnZm7WVxcrA0KCqrRarW8++67PlarteneaBOSpC2urOw9kPR/kPwV1JTZ50wnvgad/2IvfylaPFVVya/K53jpcY6VHCMlP4X1R9eTV5mHl8GLseaxjO80nlY6dwr+8x9OzfnQ3rseM4bWUx5v9ut+WywWflm9ia1J2yhVKjFoDHTu1JmOHTsSHByMu7u7o0Nstnr37l0xevTo/C5dukSBfSBar169Ks93z3rMmDF5UVFR5piYmIrly5cfefzxx7MTEhKigoKCqsPCwqrq2s2ZMydjwoQJ7Y1Go61Xr16l7u7uVoBJkyblDhs2rOPSpUu9evfuXeri4nLlLmc4kJTmFFfG0S2waaZ9frXOBWKGQvw4+7xqGVzWYmWXZbP71G725u0l+VQyORU55FXkUWP77bzkWL9YhnQcws0hN+Np8KQqLY3cmTMp37gJfbt2BM9+D0NYmIPeRcNUVlaSlJTE1p+3Ul5RToDOmx6JN2DuHI1er3dYXNd6ac7i4mKNp6enDeDpp58OyM7O1n/yyScOuSVwpUhpTtE0VNVehOPH1+DYz2D0hf7Toet94NLK0dGJy6CqKj9n/8z6o+vZmr2V46X2v406jY5on2iua30drV1a4+/qT3uP9gS7B9PWtS16rT2p2SorKZg3j5xXXwObDf9//hPvu8Y48i3Vq6ysjKSkJLZs2UJNTQ1Bii83Esl1D/bHya9RB2WLy/DFF194zpw5s43ValUCAwOrFy5cmOHomJqSJG3ROMrzYeUk++plHkGQOAPi7gIn+SPXUq08vJL3dr5HZlkmrnpXuvp3ZUzUGGL9YonwjkCvuXBvU7Vaqdi2jRNPPoUlNxfXnj0JeHY6Tu3bN+E7aDhVVTl+/Dg7duwgOTkZq9VKVGQknQsDcc9UaP1QrCTsZuL+++8vvP/++wsdHYejSNIWf9zJZFg4EspzYcBzcP1E0F2Vsy2uCYeLDvP0T0+Tkp9CjE8ME2IncEvoLRi09f83rc3NpXTNWvI/+QRLdjb6oCDazpiBR+ItKLrm9+empKSEPXv2sGvXLk6dOoVerycuLo5uXbuh/TafqqP5tBraEacguW8tmofm969ItCzp38EXY8HgDvd9C23jHB2R+AN25OzgsQ2PoVE0PNHtCUZFjkKnufCfiZrMLKr27KYyeS/lW7ZQk5GBWl2NwRyF74MP4JGY2OzmW9fW1pKWlsauXbtIT08HIDg4mCFDhhAdHY2TkxPFKw9Tti8fz1tDcUto4+CIhfgfSdri8mX8BJ+PBp9wGPMFeLR1dETiD9hwbAOTf5yMp5Mn/0n8D+09zn8puyYzk+Klyyhc/DnWvNNjn3Q6XBMSMCYk4DlkCM7mKBRt81lvu6qqisOHD3Pw4EFSU1OprKzE3d2dG264geuuuw5vb/vMIdVio3BxGhW78nDr2Rb3G4Iu6/VsNiuWmhpsFitWSy1WiwWb1UptVSU2mw2jpyfu3r6N+RbFNUKStrg8WTtg4Qho1R7GLgVX+QPUkq3JWMM/f/onkV6RzB4wGy/n30/HK9u4kZI1ayletgysVlxvvAHXHj1wvf56nIKD0bg2j2VGq6qqOHXq1JmfzMxMjh07hs1mw2AwEB4eTlxcHKGhob+ZO20tqSZ/YSo1GSV4DGyP++nSmTWVFVRXVJB39AgVxUXkHT1CdWUFJbk5WGprsNZaqK2uoqqsFJvVitVqwVpTi6peeMZRt9vu5IbR4670RyGuQpK0xaUry4XPx9hrUt+zXBJ2C7c0fSnTNk/D5GXinf7v/C5hVyQlUfCf/1C6bj1otXiNHInXXWMwhDZ9Va1zFRcXc/z4cU6cOEFOTg65ubmUlpae2a/RaGjdujU9e/YkPDycoKAgtOe5AlBzooxTn6Zgq7RQGWfjaP5Gjj+fTEVJMYUnMn/X3tnNnVb+ARhc3dC669A5GXBxd0ej06HV6dE5OeHkYkSr1aLR6dFotWh1OvQGA4pGi0eAY2p9X2lPPvlkwJIlS3w0Go2q0WiYPXv20X79+l3SUqULFizwTElJcfn3v/8tFb/OQ5K2uDS1lbBoFFQWwvh14B7g6IjEH/BF2he8uPVFurfpznv93/vNYDPVZqNwwUJyXn4ZbDZ8J07E5/7xDl8MpbS0lG3btrF3714KC+2DiLVaLX5+foSGhuLn54efnx++vr54eXn9LklbbVYsqoXq2ioyMw5QsPkIThkaytVytp1aRdF3BdRqVbTOTni1D8YaHYKLtzfObm6oLnrK9FWUahQKbRYsNgtW1YLFVkWNNe/0cysWmwWLaqHSUklNdQ211losqoVaay3llnLuNtzNg+0edMTHd8WsX7/ede3ata2Sk5P3ubi4qNnZ2brq6upLXpRhzJgxxUDxFQjxqiBJW1ya7/8FWUkwYj4EdHJ0NOIyqarKpymf8sb2N0gISOC1G177XcI+PmEC5Rs3YUxIIGj27CarsqWqKhbVQnF1MVWWKnsCtFnIyM5g669bycrOwqbYaOXfitaRrfFo5YGTqxPFNcUctBwkqTqJ0qxSCg4VUG2tpspSRUFlPlXWaiyqBZVzFpTSAXXrvISfG83pNTtKT/8ABq0BJ60Teo0eraJFp9GhVbTotXp0Gh06RXdmm1FnxNvgbd+n6NBr9Ri0BqJ8oq7Ux+cwWVlZem9vb4uLi4sK0KZNGwtAYGBgpyFDhhT89NNPHgCLFi06HBMTU71w4ULPV155pU1tba3Gy8vLsnjx4sPBwcGWWbNm+SQlJbnOmzfv2LBhw0Lc3d2tu3fvds3Ly9O/+OKLmffee+81O90LJGmLS3FiJ2ydbV/ZLGqwo6MRlymvIo9pW6axOWsz/YL7MfNPM38zQrxs40aKvvyK8o2b8L7nHvwe+xsaY+PMUbbarJwoO8H23O0cKzlGdnk2uRW5FFcXU1BVQENPELAAACAASURBVGlNKdXW6t8n1rOdPZj75OkfQKNocNI44e3sjZOqw1itg9IKtKXltK0CvcUFjQp6VU9b1474advijAFtoAG/+A4YnFzQarQYtAaMOuOZxOxh8MBJ43TmNXxdfFGa8ap+U7/aHXzgZGmjTio3BbhXzLgz9qKrjt1+++0lL7/8ctuQkJCY3r17l4waNapg0KBBZQAeHh7W5OTk/e+++67Po48+Grxhw4b0gQMHlo0cOTJVo9Hwxhtv+L7wwgsBc+fO/d29iJycHH1SUlLqrl27nO+4444wSdpCNISqwuqnwOgDA553dDTiMhwuPszC/QtZcnAJWkXLlK5TGB05+jcJu/S778h8bBIaJyc8/vxnWj/15CUlqGprNaU1pZRUl3Cq8hTHSo+RVZbF/7f35vFVVefi/rP2cIYkJ3MISUiYRIYwaRgFtWoR7RUntKLeqlSr3monP1fq/ba2/dl7rbbWa2sHr1ORDk51jkMdqxVFBAGRIYwhCZB5Oidn2sP6/bFPQgIBggQysJ8Pm73Pms6795t93r3WXut9a8O1bGnawubGzV3KZ/oyyfBmUBgoZHT6aHKTcjt6oyl6CqHGEJ+t/gwzZjJx7ERKppSQ5EtCUzQCegCP6kFTNOJNrYTK91Dx+Rp2frCacEszCJuconEMGz+RISNHE/Bn4q3QsDaEkK0W/knZpF8wCjXV9SnQG6SlpdlffPHFxjfeeCPwzjvvBK699trRP/nJT6rACaEJ8K1vfavxxz/+cSHAzp07PRdffPGwuro6PR6PK4WFhbHu2r3wwgubVVWlpKQk2tDQ0Hf+Y/sJrtF26RkbX4TKFXDBA65L0gFEfaSel7a9xGs7X2NL0xY0RWPBqAUsnriYkWldJ5I1LltGzd2/QM/PZ+SLL9CsG6yrW0d1WzUN0QYaIg20xFoco2y0EowHiZgRIkaEsBkmFA8d4IMcQBMaOUk5ZPuzuWLsFeQm5TJ96HQKUgrISco5qOwff/wxb73zFpOzJ3PRwgtJVlVa6moI7qijtb6O6oY6WutqqC3fSTTkjF37klMYPuVURp06neETT0FrEUS3NBH9ogljdwgT8E3IIvWcIjz5Kb16rfsLh+sRH0s0TeOCCy4IXnDBBcHJkydH/vznP2cBXWbpCyEkwK233lr0ve99r/rqq69uKS0tDdx1113drhn1+Xwdwy59FSujP+EabZfDY0ThrZ9A7kQ49Zq+lsalB1S2VvL7db/n7V1vE7NiTMmZwh0z7uCconMYmnzg5MHI+i/4aNmv2HRpAdvmFLHzzcvY27a3SxlFKKR50gh4AqR6Ugl4AuT4c/BpPvyan4AnQEAPdORn+bMYFhjG0KShqErP1mxbpklDVQUffbSctVu2k6oKvNs38OySN7FMs0vZ5IxMUrNyOGn6bIaOPoncopNIJQtjV5D4liDNb25AGjYI8BSlknpOEUmn5qJl+r78hXU5KOvWrfMqisKkSZNiAGvWrPEPGzYsXlZW5l+2bFnm3XffXf3YY49lnHLKKW0AwWBQLSoqMgCWLl2a1ZeyDyR6ZLSFEOcBvwFU4FEp5T375V8N/DDxMQT8h5RyXW8K6tKHfPQgNFfANS9BD398XfoG0zZ5+POHeWjdQ/g0HxeMuoBri689oFfdjpSSF/75Bx5a80f2fkMANRTGPEzKnsSC0QuYkjOF/OR8svxZpHnTUETvx4Rua26i7OMP2b5qBbu3lhHKHIqZno0WaibNipKVX8BJp5SQmT+M9NyhBLKHkJKZhabrGNVthNfXE9veTPyftTRaNaCAlpNE8vSheEam4TspHcXv9k+ONa2trep3v/vdotbWVlVVVTlixIjYE088sWvatGlpsVhMTJ48eZxt2+Kpp57aAfCjH/1oz5VXXjk6Nzc3Pm3atLaKigr3PUUPOGxoTiGECmwB5gFVwKfAlVLKjZ3KnAZsklI2CSHOB34mpZx5qHbd0JwDhPpt8MfZMPZr8PUn+loal0NgS5tFpYvY1LiJmUNn8uNZP2ZE2oiDlv+87nN+svwnbG/ZTmE9LJi8iCtO/w8yvBnHZaJV457dfPL8U2xZsRzTiJNWOIKWzDyCcYPpU6cw7/zz8Xi77xXHK4M0v7aD+M5WEKAXpOAbnY53dDqe4ako3sH7cDnQQnMWFBRMWrVq1ab22eQuh+doQ3POALZJKXcACCGeAi4COoy2lPKjTuVXAF/O959L/+PNH4HqhfN/2deSuByGO5ffyabGTZxTdA4PnPXAQcs1R5v59epf8+K2F8mSyVz+ocUt5/yErHmLjouc8WiEj575C2vffA1F1ZhwxtkUTJ/NG++9TzQS4etf/zoTJkzotq4dM2l+aTvhz2pRAjppXxtJUkkuavIJPz/J5QShJ0a7gI7FioDT2z5UL/p64PXuMoQQNwI3AhQVFfVQRJc+Y+PLsOUNmHcXBAanB6fBwoq9K3h5+8v8+/h/Z8n0Jd2WCRthSneU8sd1f6Qp2sTpGdO47qcrSLU8ZPzu4uMiZ+Oe3ZQ+cA91FeVMOP0sZiy8kpVr1vLsy6WkpKTwzW9+k7y87gN0xHeHaHxyM2ZDhMBXhhE4qxDF6w5793d27969vq9lGEz05C++u3GybsfUhRBn4Rjtud3lSykfBh4GZ3i8hzK69AV1ZfDCzZA31Qm16dKv+f2a31OQUsD3S77fZWi7Nd7K+rr1vLDtBT7e8zGt8VZGpI7gf7/yv+Tcs4zWmMLIV55H8R3byVm2ZbGq9AU+fvZvqB6dc7+zhLqYwcN/WkosFmPatGl85StfISWl+xnd0a1N1C/dgJKsk33DJHyj3RUMLicmPTHaVUBhp8/DgD37FxJCTAYeBc6XUjb0jngufYIZg79fD7ofrnwKVHfosT/zyvZXWFu3liXTl+BVvexo2cFb5W/xbuW7bGxw3mKlelKZkz+Hy06+jOlDp9P24XIqX3udrJtuwjt6dK/IYds20WiUWCy2bx+JUFG2iS0rV9Da0kzSuKnYgTSee+sdAMaPH8/cuXMpKCg4aLvRLU3UL9uIPiSJ7BsmuUPhLic0PTHanwJjhBAjgd3AIuCqzgWEEEXA88A3pJRbel1Kl+PLP38BNevhyqch1Y0l3J+xpc0f1v6BcZnjmFswlyUfLOH1nc7bqck5k/n21G8zMWsip+aeSrLuuCG1mpupvMnxe51++eVH9H1SShoaGti1axe1tbXU19fT2tpKW1sb4XD44BU9SYicJJTUdLKzs5k2fTrjxo3rCIl5MJzIW5vQs/2uwXZxoQdGW0ppCiFuBf6Bs+TrcSnlBiHEzYn8h4CfAFnAHxJDc+b+sxtdBgh7P4flv4VT/h3GntfX0rgchpXVK6kKVXHmsDO5+KWLUYTCtROu5RsTvkFucvfzEBoeexxsm4Lf/AbPsIP3cNtpbW2lrKyMXbt2UV5eTigUAhxHGqlJfnQBAWmRLCxirc3Eg61gWyjSJmdYEcVzzmT8rDn4k5LQtCN7B938yg6kaZP57+Ndg+3iQg/XaUspXwNe2y/toU7HNwA39K5oLscd24JXvuuE3Jz3876WxqUHvLL9Ffyqn/er3mfBqAV879TvHdRYA0TLttDwyCOkXXQhqfPPPWTblZWVvP/++2zbtg2A5KQkUr06AWHSVrEDO9SKARhAcnoGGdlDSB85gsz8YWQVFlE4YRK+5C/vdSyyuZHI+npS5w1Hz+7byGIuh6esrMxzwQUXjNm6deuG9rTbbrstPyUlxTrzzDNDP/jBDwrj8bgSj8fFxRdf3HT//fcf8JrV5fC4Uy9d9vHJQ05QkMsedwy3S7+mKdrEW+VvMSR5CLtad/HdU797SINth8NUXON4tMu4+uqDlovFYrz33nusWLECv9/PiKwMwts2EN60hxCQM2IUY04/k7wx48gqKCRjaD56L09ks+MWzS9uQxuSROBMdwXpQOf6668f+eSTT26fPXt2xDRN1q1b57ql+5K4RtvFoancCbs5Zj4UX9rX0rj0gPs+vY+IFWFX6y7+bdS/kZt06GV51T//b6yWFgoe+F/8kyd3WyYajbJ06VKqq6vJ9qhE135Eg7QZMfkUxly4kFGnTCMl89h6nJRS0vLqDqzmGDk3T0Zove+FzeX40tjYqLW7LNU0jZKSkmhfyzRQcY22ixPBq/Q2EAr826+hH4cddHHWWz+w+gFe3vEyXtXLb876DXMK5hyyTu0DD9Dywgt4x4whMH9+t2Wi4TYe+7//o665BX/VNqxYhBkLLmHyOeeRnnugv/JjRfizWto+qSbljGF4R6Qdt+8dNLx4SyG1G3s1NCdDJoS5+PdfOhDJjTfeWDN+/PiJM2fODJ577rktt9xyS0NSUpK77PdL4BptF1j3JGx/x/F6ll54+PIufUZ5Szn/8fZ/sDu0G4A7Z915WIPd+sY/aHjo//BPmULBg789wEVpJBTks9deZvmKFYRTsxhiRjjzmm9y0vTZeHspjnZPMZtjNL+yHc+IVNLOG3Fcv9vl6DiY61shBPfdd9/exYsXN5aWlqY+88wzWc8++2zWypUry46ziIMC12if6LRUOXGyi06D6e5cwv7M5sbN3PSWs1Tr7MKz+XDPh8wbPu+QdVpKX2XPf/4nvokTKVr2BIp3X0yGWDjMypeeZc0bpUQlhEcVM2bEcK669rrj4nt8f6Qtafr7FrAlmZefjFDcEZ8vxVH0iI+G3Nxcs6WlpYvT98bGRnXkyJExgOLi4lhxcXHdbbfdVpeVlTW1urpaHTp0qNUXsg5kXKN9ImNE4elvgLTh4t+7Ebz6MY3RRm555xY8qof/mfM/3PLOLZxecDpJ+sF7wrEdO9h7551oeXkM/f9+1mGwjViUz157mdWvvkgkFOTkmXOo1FMgHOaSr1/RJwYbIPThbmLbmsm4dAxa1pHPFpdSYtkSs32zbAzLSYubNhHDwrTtjjKWLYnELQzL7vjcXi9mJtISeR35lsSSEttO7NuPbbAT328n0q1EupTtZZ1jCZw7IZeLph5+ud1AIi0tzR4yZIjx0ksvBS666KJgTU2N+s9//jPt9ttvr33qqafSvv71r7coisL69et9qqrK7Oxs12B/CVyjfSLz+u2w5zO44q+QOaqvpXE5CJZtseSDJTRHm/nL1/7C81ufx5IW3zn1OwetE9u5k52XLkR4PIz4219RcrLZuXY121Z+zNZPPybS2sLIqSXMvvwqGmMmq599lksvvZSkYzwc3tgWpzYYZXdThJrWGFtqgkQNi1jEILShgXiKBl9UYKwrx7Bs4pbEMO0Ow2pYXY2umfhsJPIOE7Sw11AEqIpACIEqBKoiOtIOSFdAEQJFCMcntICpwwanG9Ynnnhi57e//e2iH/7wh4UAP/zhD/cUFxfHfvjDHxbccccdhT6fz9Y0TT766KM7j3TNvouDe9VOVFYvhc+Wwen/CeMv6GtpXA7BH9b9gU/2fsJdp91FYaCQl7e/zPkjz2dUWvcPWtIw2HP7EiKmQfTKhWz88yNUbVxPPBJB9/kZeco0Tjn33xg2YSIArz/+OOnp6UycOPGo5IzELYJRg9pgjNaIwZ6WKHubI+xqDFPREGZnQxt1wViXOh5NISNJR42YqFKS7PfijRh4VIGuKvg9Croi8GgKmqqgqwJNEaiKktgnPqsCr+qU0VSBrjh7TRFoqoJHVfDpakeaU0/Bqyt4NaXjc3t7Hk1BV5WOtjvXUcTB39+e6JSUlEQ/+eSTA7xilpaW7ugLeQYjrtE+EalaBa/dDqPPgbP+X19L43IIln6xlIc/f5hLTrqES8Zcwl82/oWwGeaqcVd1W96yTFb95/cpa2ugfuJI5GcrSBuSy7jTzmRUyQyGT5qK5vF0lN+7dy8VFRWce+65KEr3S6tsW1ITjFLbGqOqKUJFY5ia1igtEYPKxjDVrVGawwahWPfhknNTvWQle5k9KovROSmMzEmmMMNPTsBLbqqP6PI9tLy2k/QLR5NyWv7RXzQXl0GMa7RPNEK1znvsQB4sfNR9j91PCRth7v30Xp7f+jznjTiPO2ffSX2kngfXPMjUnKkUZxcfUGfnmlW887v7aQm14k9NZsbFX2fcnDPIGlZ0QM9QSkk4bvHX195nj8him8zl8/e30xCKEYqZRA2bHfVttITj7G2JEjPtLvUDPo1Un05hpp+S4Rlkp3jJSNJJT/KQneIh1a+Tl+YnO8VDwHdw96PxqiAt/yjHV5xF8mzXz72Ly+FwjfaJhBGBp/8dIo1w/Vuu17N+SMyK8V7lezz42YNUBiu5fuL1fOeU76AqKn/d9FciZoQ7Z9/ZpY5pGHz41DJWl75ActxkhvAx6/Gl2CkBdjWEWbOpll0NbexqCLOrMUxNS5TqRE8ZAkCAN1/ZDIBXU0j163hUhfx0H5OHpXPOeC8jspMZEvBSlJlETsBLdor3QOGPEDtm0fhUGWqKTubCMe6Qs4tLD3CN9omCZcDzN0LlSrh8KeR17xHL5fhjS5s1tWt4ZfsrvFn+JkEjSEFKAY/Nf4zpQ6cDTlzspzY/xbzh8zg54+SOuvFImOfv+Rm7N29keMQk0uzlnZvv4K7H17GtLtRlYlbApzE8K4nhWUlMKUxDhOrYs30TN115EcOHZpOd4sWrKSjHYamVNGyantuC2RAh51uTUJLcYCAuLj3BNdonAmYMnl0MZa/C/F9A8cV9LdEJjy1tNjVs4t3Kd3l1x6vsDu3Gr/mZN3weC0YvYHrudNTEqwvTNvnFJ78gZIT41uRvdbRhmQav/e5+KrZspaboXJ4wh9LqTcazsYmZIzM5f1Ieo3OSGZ6VzPDMJNKT9I7erJSSBx98kHGjAsydUHRcz92oaaPxyTKM6jZSzxuBd9TgnEnt4nIscI32YKetHp67AXa8B+f/Cmbe2NcSnbDUtNWwsnoln1Z/yvLdy6mN1CIQzMybyS1Tb+GconO6XXe9bOMySneUcsXYKxiXOQ5wjO4//vgbPli/i9eGLyaKyjQ9yFfnj+O600bg0w89V6GyspLGxkZOP/30Y3Ku7UhbYgXjmPURzLoIkY0NxLY2oSTrZC0uxj/WfUXj4nIkuEZ7sCIlbHoFSn8AsVa46PdOjGyX44YtbdbXr+f9yvf5Z9U/2dq0FYBUTyoz82Zy5rAzOX3Y6WT6Dm643q14l9+t+R1nF57Nj2f9uCN907/e47m11byTfzH5oToWb32Lbz77R9TU1B7JtnbtWnRdZ8KECUd1jlJKzIYoZn0EqzmK1RTDbI5htcawgwZWSwxp7JvEpqZ7CZxVSMrsfNSA5xAtuwwkDhWW86677qo5WL0PPvgg6fHHH89aunRpZWlpacDr9drz5s1rO5LvLigomLRq1apNeXl55sHS//WvfyUtWrRo9DPPPLOtvLzcs2HDBv/dd99dfeRn2pXS0tLAr3/969z33ntv29G21VNcoz3YkBK2vgkf/AqqPoWhk+GSVyD36H6cXXpGa7yVlXtX8n7V+3xQ9QGN0UZUoTJ1yFR+UPIDZuXNYmzG2I6h7+6IW3E+qPqA57Y+x4e7P6QgpYCfnvbTjvzKjeu556/v8kHOWfjMGL/c+zaznnywxwY7Ho+zYcMGJkyYgNd7ZBPKpC0xqtuIbWsmVt5KfFcrdpuxr4AqUNO8qKke9PxkfOMy0bL9qJk6SqaAFIkkTszejRWMYtsxbDuKZTvH0jaR0gIkUlpIbJA2Utqdjjulk8izDSddGtjSREoTaZvYMu6k24k0bJASxy9Z52OJlDYgE+1K515C7lenU7mOMs6n9v/b02Xnz8jEP+c4L28hRYWLj+jaD0bOOOOM8BlnnBEGePfddwMpKSnWkRrtw/HJJ5/4Fy1aNPovf/nL9jlz5kTmzJkTAVp68zuOJ67RHiyEG6HsNScmdvV6SCuEr90HJdeB6k7yOVaEjTBratfwSfUnrNy7kk2Nm7ClTUAPMLdgLmcWnsncgrmkeQ8drcq0TdbWruUf5f/g9fLXaYm1kOnL5LaS27hy3JX4NCf8cGt9Hd9/6B+szpjNjOoN/HTzi4z5+7NomT0fZt68eTOxWIypU6dimm0Eg+sJtW0lFqvBskJYZhumFcKyIkjbxArHsaNx7LiBHTccoyZsyAQxVIIukaoNwkIK2zGOnbeIhayyoOqoLnWPEEJFCA0hdBRFTxy3bypCqIBIvNsXCKE4exQcd2UKAuFEvOtcDiUR/U6gCK3j2PFxJtq/fJ8ciI4y+1L2penaiRW9bMaMGWNLSkpCH374YWowGFQfeuih8vPOOy/U3lN96KGHKpYtW5ajKIp85plnsh544IGKyZMnRxcvXjx89+7dHoD777+/4txzz22rrq5WFy5cOKqxsVE/5ZRT2uQh3OCtW7fOd8MNN4x8/PHHd5511llhgN/+9rdZq1atSl62bFnFwoULRwQCAWvdunXJdXV1+s9//vOqxYsXN1mWxbXXXlu0YsWKQGFhYcy2ba677rqGxYsXN/39739Pvf322wszMzPNSZMmhdu/q6amRr366qtHVFRUeP1+v/3www/vmjlzZuS2227LLy8v99TU1Ojl5eW+u+++u/Ljjz9Oeffdd1Nzc3ONt99+e5vX6+2xLz/XaA9kwo2wuRQ2vgQ7/gm2CVknwUV/gMlfd431MaAuXMea2jWsrVvLutp1bGzciGmbaIrG5OzJ3DT5JmYMncGUIVPQle6vv2VbhIwQO1t2sqVpi/OOe89ygvEgXtXL2YVnc+FJFzIrbxaa4tyi0rZpfvVVbn1jA6sDkyhu2M7PxmmMf+xfCPXI1tp/8cU/GXNyGXV1P2DHzo2A4wJaCA1FSUYVSSiGFxHTkVGJkApIBaFpqB4/wqMjfB7QVAQazs+IAlJDoO77jAZSdTZ0wIOQHsAL0uNstgdp65hxDSumYcQEVtzGshRsS2JbCpYpsU2wTIG0BVIKsAWgIKXifE58T+ffb9m5o9veF+4u/6AJB9ITN6ndGpH9kiacnk/eMVqWfufyOwu3NW3rVX+0J2WcFP75nJ8fVSAS0zTF+vXrNz399NNpd911V/55553X4Tlt7Nix8Wuuuaau83D6ggULRt5222018+fPD23dutUzf/78MTt27Nhwxx135M+ePTt033337X3qqafSnnzyyeyDfecVV1xx0sMPP7xz/vz5oYOVqamp0VetWrV57dq1vksuueSkxYsXNy1btiyjsrLSU1ZWtmH37t3axIkTJ1533XUN4XBY3HrrrSPeeuutsuLi4tgFF1zQ4ZZwyZIl+VOmTAm//fbb219++eXAtddeO3Lz5s0bAXbt2uX96KOPtnz22We+s88+e9wTTzyx/aGHHqqaN2/e6GeeeSbtG9/4RnNPr6NrtAcaTeVQ9obTqy7/EKQF6cNh9i0w4SLIP9WNh92L7A7t5uM9H/PRno9YW7uWukgdAJqikZ+cz7Qh08hNziXdl45pm9SEa3i67GmWblhKxIwQNsJEzEjHFjbDxKyurjyzfFmcU3QOZww7g9l5s0lW/cS2bKH1nSeJbt5MdP3nNO7aw5K517MjdRKn2dX86SeX4C08MIxqtM2gensLDXtCtNRFCLfEiQTjhINxFP8WAiNeY0j+GkBSWz6KttrziNSPxm4ZRo6VQYGukqM5PcyQJak1bWoMSYMpOdbRHRRVoPtUdI+KqikomoKqCedYTez19l5tx39dOrSiIwH2O9y3Dlzs6/9ywK1y4L1zwO3Uze11YDOHvgcDGb5D5g80DhWWs53LL7+8CeC0005ru/322w87oWH58uWpW7du7YgcEwqF1KamJmXFihWB559/fhvAokWLWm666aaD/mnOmTOn9bHHHsteuHBhy8F8nV944YXNqqpSUlISbWho0AH+9a9/pVx66aVNqqpSVFRkzpo1Kwiwdu1a37Bhw2KTJk2KAVx99dUNjz76aA7AypUrA88999y2RJvBG2+8UWtoaFABvvrVr7Z4vV45Y8aMiGVZ4rLLLmsFKC4ujuzcufOIJne4Rru/E2mG7e/Czg+g/F/QkJjvkD0W5nwXJlwMeVNcQ30USCmpj9RT1lTG6urVrG9Yz66WXTREGzBso9s6pm1SEaygIlgBgCpUkrQk/Jofv+7Hr/lJ0pJI86YxNHmo81lP5Gt+kvVkRqSOYFTqaLLVHKQtCK//gr1//F9CK1ZitQaRQkWkZ9I0YjJ3jL+GBiWJmf4QPzz/a1TWqth7q7FMm2ibSXN1G9U7W2ncs+91YFK6JK1wO4HRG8hIXY/w7MK2fFRVjaco8H0K1CL83ihebwTNG0MAll8jlp+COSyATPMwRBHkCoFQnB9gRRGI9k2AUBKBMBQ60hXFsYpKInCGk975Mx3piiJQVIHHp6Hq3btRdTkyjrZH/GU4XFhOAJ/PJwE0TcOyrMP+YEkpWbVq1aaUlJQDhi4O5nJ3fx555JGKxYsXD7/mmmuG/+1vf9vVXZl2udq/s/O+Ow72gNJdHSGEBGgf/lZVFU3TZLv8iqJgmuYR/Xi7Rrs/Ur8Vyl6HLf+Aio+d3rQnAMNPg2nfhJPPg6zRfS3lccGyLWrCNVQFq6gOV1Mfqac+Us/03OnMHTaXUDxEKB4ibIYxbRPDNpzNMjCliWk7myWtjuOWWAt72vawvXk7VcEqasO1mLKr32xVqKR70xkWGMa4zHGMzRhLpi+TFE8KKZ6UfQZa8+NVfJhtknBLnLbmGJGQQbTNINppH49aGLH2zcSIWWyMWXxhbgE6x1eYA+PmANAmJOv0Nlb6JIaiMb11B6c3jefDxzcdcJ18yTo5wwOcNC2H1IINRHmTxqb3sO0IiuIhLW0a2dnX8sqLdXjMZCY0pGPWOpNn9YIU/NNz8U3IQs9Ldj2T9RDZaRKaZN/Qefv0tQPT6JicpguBp4eGZyBwqLCcPW0jEAhYra2tHYZ/7ty5rffee++Qn//85zUAH330kf+0006LzJo1K/j4449n33UdQQAAHTZJREFU/fKXv9z7zDPPpHausz+KovDSSy/tOPPMM0/+/ve/n//AAw/s6Yksp59+eujPf/5z1q233tqwZ88e7ZNPPglceeWVjVOnTo1WVVV5NmzY4C0uLo499dRTHZNJZs2aFfzTn/6U9atf/WpvaWlpICMjw8zMzLQP9T1fBtdo9xda98IXz8HnT0P1507akGKY8z04eT4UTAN1cKtLSklFsIJPqz9lY8NGNjVsYkvTFuJ2/ICyf9745177Xq/qpSiliPGZ4ynJLWFOwRzyU7oGrgi3xqnd5fRkG5piVDSHCDU30NYcI9waR9oHPmUrmsCbrKEn66g+FcWvoqZq6B4/drSN+K5KItu30iYtQtmZtA3JoTUtjbpInJ1RqJc+QCUnVsctozS+uvhqNF3tGCpuHzb2+DV8yTqxeD3rP7+ZqoY16HomeXmXkpP9VdLSpmHuivN56afUNezkzHgRSqFG+oWj8U3IQks/epek+yOlJGzZ1BsmDYZJ0LSJ2jYRyyZi20RtScTal+bsJVHbJp6IP23YElO2b2Alji3pxK42pTNkbyXKm53TJdgkYliTMKKS/edzd3pHLY/I+B4ttxYN4cejB1dwlIOF5exp/YULFzZfdtllo19//fX0Bx54oOLhhx+uvOGGG4pOPvnkCZZliZkzZwZPO+20invuuWfPwoULR02YMGH87NmzQ3l5eQf+QHTC7/fL119/fducOXPG/uIXvzCSk5MPa0ivvfbaprfffjtw8sknF48cOTI6ZcqUtvT0dCspKUk++OCDuy644IKTMjMzzZkzZ4Y2bdrkB7j33nv3XHXVVSNOPvnkCX6/3166dOnOnp77kSAONQxwLJk2bZpctWpVn3x3v8G2Yfs7sPIRZ5kWEvJPgUmXw/gLIf3Ad5aDCSklO1p28NGej9jUsImP9nxEQ7QBgIAeYHzWeMZljmNk2kgKA4XkJeeR4c1gd2g3L2x7AY/qwa/58Wk+NKElZvK2/9BKQvEQteFa9ob3Ut5Szt62vQCkedI4q/AsTh92OhOzJzI0aSj1bXGqmiLUtsaoD0Wpqm5j994QdQ1hWoNxooaJIWxMwFZw5l0p0D4nykJgQ8KIOJspQXb3AvQQKNIiyYqQJ1sYk2Ize3Q288+ZzZCCgkPWa2vbzqbN/0VLy2rGjf1v8vIuQ0iV8No6Qh/uJrY3xAu+leBT+I8bbsaT3TvzlGK2TXkkzua2CBuCETa3RamLm2wNRwlZPetk6ELgUwR+VcGnKHgUJxa1LgSqcPK1RHxqTSTiVuPEqHbmgic26ewVALkvze4y+yyx65Qm6G5SWsKMd5Nuy87Lt8S+trppWybK2h3f49Q5c0gqN0w4tE4PhhBitZRyWue0devWlU+ZMqX+SzXo0i0tLS1KWlqaXV1drU6fPn388uXLNxcVFXUfyq6XWbduXfaUKVNGdJc3uLtu/ZVYCNb8xVme1bQTUnLhjP+EyVdA9pi+lu5LI6WkOdZMY7SRYDxIyHCGroNGkFA8RE24hr2hvdSGa2mINtAYbeyYlKUKFb/mZ2jSUDyqB4GgMljJ9qZtxKw4hh3HsE1sjmy0SZGCLJlKrp3OVKuEobEhiHA+e7b5WGbuptJspNbyE+nmVvBYMTwyjm6b6NJAs01020TBRpE2ChJF2ghpo2Cjyvb0xF5aaNJCs21UaaHaFjo2uq7j8XtJSk8nkJFGTmoSuZkp5GWnkZuTRdawQnzJKT06v1isjvJdf2T37r+iKF7GjPkx+fmLiG5qpLl0B1ZjFC03ieqZ0LQuxGUXXNZjg90WM2mKGNREDWpjcepiJnVxg5q4SXk8TqVhsts0iSeslQKkC4UhispENDJUBZ8Ejw2qKZGmjWHYRKMmsZhFJGoQj1kYlsSwbAzLxrQkMcvGtGxMW2LbTi/atp0etS1lj2Zw93eKzxwNruuEfs28efPGtLa2qoZhiNtvv33v8TLYh8M12seTUJ1jqD99FKLNUDgTzrkTxi0AbeB4h7KlzdamrXxe/zlljWWUt5RTGaykNlKLaffs71oVKl7FQ7aWSbLix2OrKIaENgviUWTMxBMzwARhqyBTnGU9tobE2SM1bHSk1LCljpQ6FjoSDzYepJUE8Uws4aFc8bFWCxBROyajotsGQ4xmTo7Xkm6GSTPjBOw4GVYbmUYLgXgL3mgQNRZDicZQbRvFlmiJvWpLx1DbElUoqH4/ut+PnpqKnpaOJ3cIen5+YitAz8/HU1SIOMgs1p5imkFaWj5jb/UL1Na+Adjk5V3G6FG3oQSTqf/TBmJbmhDZPqxLR9OQo/Lec38hOSObzVY6768spzoSpyZm0BA3aTYtWm2bNimJCklcBUtTkLoCB5scFrVQQgaizURviSPaTETQICyh/CByezWFJI9KwKeT7NVI9qikJ3nwqAoeTaCrCpriHGuKgqqIjk0RAlUBVTiT2drThQCPqjh1VYGeqKepThua6vTQ28sqoute4PTchdi378inU7lEWSFAV9vlcfbgTLJTOtVrb08RiTKCLp811Z030N9ZuXJlWV/L0B2u0T4e7FkLq/8Ea58EKw7j/s15V104o68lOyK2N2/nle2v8OqOV6kOO5OYvKqXVE8qitBIEtkETQsj7nUMpuVHNwPkqAEy7WySrDRETCUWtmgLR4maElPoNCsaptAwVQ+2omMIDUOoGKhY4gjWICd+B72Wgce20KWNR5HoCJJtQUFUIUlAtu0h0xak2z6S4yaBeJh0I0xWvJJUqxHV70dJSUEZUoiSnIySkoyakoKaloY2ZAhqWhpKIICSkoKakoKSkoLw+Xp1ApeUkni8nmi0kkikinCknEi4nNbgBsLh7YBE0wIUFFyFN/UKPtzh5ZPXtjIiZLE2XeWVk1U2ew1kRQVJNRbWpDlENC80dhpB1RMbCoot8Njgl4JMIUgRglRVJUvXSFMV0jWVTE0jx6uTo6tkeDTH+OxnXLWEwfSoClrCkHo1BY+quBPcXFx6AddoHyuaymHLm7Dmz87EMs0HU66A077bb4fApZS0xFqoj9RTF6mjPlLPztadrKlZw5amLbTGW4FEjyPuQ2kdRSw0lj3xEcSsHCQH9sqiQBDYkfisSguPNPF4bHy6hc+KkxyP4o8G8RkxfGYcnxXHa5v4fR58ySmoKWkovjTQk1EUL8JWkYYAQ0BMImMWuhTo0vmDFvi7yOAP6CSne0nJ8JGS4SUzL5nswgBZBcl4fH1zC0gpMc1mIpEqItEqopFKZx+tIhJx9rbdeQ6PwOfNIyVlHLm5C4iJcSzflc8v32jAqt/F1KEprBzlZWOa85CjSkhTFJJjEbSWFoZ4MynKSCPHqzHE66Ew2UN+kpdsr06mrpKkuEa1W6SEUK1zPzftTOzLobkC4iEwomBGHcdGsrNrU9npRXk34/kzboIzbz9eZ+EyiHCN9tFi29BaBXVlULcZajfDruXODQ4wdJLjTnTS5eDv2xCEhm2wtWkrZY1l1IZrqYvUURuu7VhGVR+px7AMPIZAtQWmAobHeYecFEmmoGEcduMU6uVwGj3OSgePHSM71kB+bA3pRjPpRpiMeIiMSJD0UJDUWARL6qRFI6TFonhN0+kQqypqdjZKwXBk/nDsggKiycNp0zMIyRRaWyXNdRFibaZj9YPOOuCkgE5Smhd/ho4vWcebrONN0vAl6XiTNbxJOr4kZ+9NdtJ7sv5XShvbNpDSQErT8V+9vz9r29yX3/m4U96+YzORZ2AaLRhGM3GjEcNowog3EInuxrK6OmnStDQ83gLQRqIFZhGxcmkxsmmIZLO3LYO6vZL6YJxtdSHC0TiFQ+ogP4mNxSmsVQTFms7Phufw1exURvq9bNuyhaeeeoHi4mIWzjv/xDTKUjpGNd7mGNl426GPY0EI1SJDNciWWmTjHuxoG9ISzmYLpH8IMjkXtACSTKTQOz2wtrsqZT83pl3xxDPp/Tn7LicCrtHuKUYU6sucNdQN2xL7rVC/DYxO/u2Th0DBqTDzZhh9FuSM7TuZcdxuvr7zdcdVZtUaolE/tpWEYnrw2zqqMLGVGJZmY2ke8BjEPc5kHysyHKt5LGawmGB8CDWAX0TIj9Ry+t51jArWMC7egjc5Ey0lEzUpHZlchOVNwtL8WJoPS/VhKjpB4aEJDVOqGKYgHnecgliGDSGcTZgoepCUzBbScm1Gj5IkZ9okpVv4AzaeJAuJgW05QSZsO4Zlx5B2HFuaWLZBSMYJhg3sNgNZY2BLA2l33du2kagTx7adTcrunaj0FqoVQElswgzgic1FRrKxwtkY4SzioUxCUR+2dOabt8+KTgZSgOTkNtRMjVC6iq8gk73JCs1CMDQmuV74ufKUQsanJwMQjUZ59+23Wb58OUOHDmXBggX922BL6bw2MiKOge2yj4EZSRjUUCcD22kf62yAg52OE/ny0JMXzahCpEEnXOsl2uwj1qphRdpzA4mti8DA0QWIyvrWqQyZd1RNuJyg9MhoCyHOA36D81vyqJTynv3yRSL/a0AYuE5K+Vkvy3r8iDQ5QTeq18Pez53h7boyx8kJAMJZjpV1Epw6G3LGJbaxkHR84wNLKQnHLRpCcRraYuxuaWVDTQWb6yrY3LSZxmgDKDEULYjweFC8tajC+RGLA9LWEEYqIh5Ai2TjiaSR3JZFRstQUo0kkhUfftWPXzPxqzaZSEhKRwlMQqhj2aMaCNVAUeMI1UBozShKnZOmmWheA9VjoekmXt3ErxkoWgxFiyLUCFKNIEUUKSJIzMQ6WAUJhFEIIaBVIFsFkq6bjY6NFxtP4lhD4kxGs1GxpY5NEpbUsBObJVUsqWNKHVN6MKSGbXvA0sBWEbaGaqmolopuKyhSxUZJ+LVWkCiYKJioWCgYKNiJdGfeuMCW7ccKlhRYUscWAls4P/dW4tgWQIqANIGlCuIqxDSFqAoxVRBRIaoI2hSIJzpyARumGApfkx7mDklj7tgcJJJIJEJZWRllZWVs2LCBWCxGSUkJ8+fPx+PxdP6DcUaB6rdB43Zoq4NoqxO+1Yw6Bs52Imjtv0nLQhoWtuEcO+mym/KyS7rsnG7bzpp22wIzijRiYMadqFgy8WCxLygW2GKf6/D2JXQSkAKp+0H1gepFar7EsR8p0hK9Xw8SHYmKlBqyXYdSRdpg1DYR21mFUe34/xAeD95x40iZexL60DyEz4vi8SC8PoTX6/hc93gQmobQdISmOpMKNc3x/34ED0Za9kHdZQ9YKioqtG9/+9tF69atS/J4PHLYsGGxBQsWNL/66qvp3YWuvOKKK4YvWbKkpqSkJNoX8g5UDmu0hRMW5/fAPJw4PZ8KIV6WUm7sVOx8YEximwn8MbHv/8RCsOczqFwJe9Y4Brq5Yl9+IM8Jbzn2azB0ImSfDJmjQPcfvM39sG0b0zQxTIu4aWEYFnHTJG5axI04ccMgZpnE4nFCUYPWaJRgzCAUM2mLx2mLG7TFDZqjMZqjUVrjBm1WhLAdJS7j2EoMoTej6M0IrQVFb0LoLYhkiScZkAI9lkJyNInMlnyGWF7y8JOn+knTUhA6WLqJmSSxckxMz15MbyW2bmFpFqZmYwgPMTxsJYUQgY4tSIBWUonhw0DHRMdETRhWx4iBcAwfdOwlAimOsUeoftC5FImes9K+CSeOlAqowtkEoCHxA14kPilJkSa6ZaHbFlrMJCceJr+tldS2Vsx4nHg8zop4nA+ej2Pb+3qSHo+HcePGMXPmTAra13bbNmx5A9b+1fGwF27oJKAKvlTwBpCKDyMsiDdDvNki3iyJN1nEmyyMoNU7XkW64EtsR0s8sbUevqiqInQdoevoQ4fiP3UaGRMn4isuxj91CsoRhip1cbBtmwsvvPCkq666qqG0tHQHOB7MXnjhhYO+E3z66ae7dSvqcmh60tOeAWyTUu4AEEI8BVwEdDbaFwHLpOM5YIUQIl0IkSel3NvbAv/h7ptRd3yOYsmOZTeiYw+KneiHdfhF6MYfLBJVmngw0TESBgZiQiMqNWJiNHFU4miJVcEVIHaBfMXx1tD+2J84bu/3OY23/4Dum4RyJLZDdBJXA9KAbv/qDzgtgYITklAIHUVNR1G8KMKLVHzYaB29P5noCZpAPWHHeHZZ/NoeuQkUJB7AgzNUm0EEIcOoci+67axN1m3buf4JAyUkCCkSbe5zedL5/ETnE5D7rpHolNZRp/NJd3S76Gh3/7Y653W5QnI/nch2mdvryA5ZOsp2Fxaqc7Nyf/3KLjrs+O7uLN5hjKBj5GViCVIno594bbrvs0QR4FHBq4Ky8k2sZVABTg833OQME2s+SBoK3rGgJ2NbAjscxQqFsINB7Lau79iV5GQ8I0fjnzSC1Px8FL8P4fE6vU4tMYDfKQhH+7Ho7p1u4iSEojhhL7s7Vpzwl/uOFYQiQFF7UCbRliBhlD3O3qN3GGnR3iN26XVKS0sDmqbJJUuW1LWnnXbaaZHGxkbt/fffTz3vvPNGlZWV+SdNmhR+8cUXdyqKwowZM8bed999lWeccUY4KSnplOuvv772zTffTPP5fHZpaem2wsJC829/+1vaPffck2cYhpKRkWE+/fTTOwoLC/vFeum+oidGuwDo7IC+igN70d2VKQC6GG0hxI3AjQBFRUVHKisARvV2zvqwqUuaJcBSwVKczRaOp6qe4YRP3PfT68QETiSyf3dNdhkC63rs/Aar7F/HyT4w7QBzLjq10zkMkeiav6+80ulzogfbUdwEaQL73rd3NYhinyGRXQ1jZ8O6r07ic4eRE/So6yV6WK5zlU6ydHeJ5P5lulY6yEOSPHi+6Lzr7iHvYG0kjL3zBNBJTXK/fSJfHCz/wIcQBTo9wbW3fJDrKLpKaO+fp3khbUzi1c2+IWiR7MOTm4cSCKAGUlBSAmhDc/GOGIFnxAjU7Oz+/S7cpVv2/L8fFca2bu3V0JzeMWPC+Xf/z0EDkXz++ef+KVOmhLvL27Rpk3/t2rU7RowYYZSUlIx76623UvYPlRmJRJTZs2eHHnzwwd0333zzsAcffDDnl7/85d558+aFFi1atFlRFO6///7su+66a+gjjzxyHCKz9196YrS7u2v3//XoSRmklA8DD4PjxrQH330A82+8l21zV6N6PCheH5rXg67paJqOqup4dA+qrqPrfrweHVVRUXUNLSGiIkCoCopQEgO37c4TnCUvAicKESSiFXX0FPeVUxLeFtp/0LqcfKcgAAcah309jy7mvmv8wMNcgcPkH7L+0dQ9xvUPV9c1Hi4uA5JJkya1jR492gAoLi4Ob9++/QBPUrquy0WLFrUAlJSUtL399tupADt37vRcfPHFw+rq6vR4PK4UFhb22Jf5YKUnRrsK6OwEexiwf6SUnpTpFcZNPJVxE089Fk27uLi4DHgO1SM+VkyaNCny4osvZnSX1x6WEpzQlN2FouwcrlLTtI4yt956a9H3vve96quvvrqltLQ0cNdddw2uKCtfgp7MBPoUGCOEGCmE8ACLgJf3K/MycI1wmAW0HIv32S4uLi4u/Y8FCxYE4/G4+PWvf90xLf79999Peu+993rmRP8gBINBtaioyABYunRp1tHKORg4rNGWUprArcA/gE3AM1LKDUKIm4UQNyeKvYbj9Gob8Ajw7WMkr4uLi4tLP0NRFF5++eXt77zzTmphYeHEk046qfinP/1pfn5+/lE5QPjRj36058orrxxdUlIyNisr64SegNaOG5rTxcXFZQDhhuYc/BwqNOcxXijr4uLi4uLi0lu4RtvFxcXFxWWA4BptFxcXFxeXAYJrtF1cXFwGPrZt264zg0FAQo8HjXLTZ1G+Vq9eHRJCVAMthymaDRxqgkXaYdoY6Pn9QYbBroP+IENPZDwaPQyGa9Af9Nwf7oXuQgd+UVdXNyEnJ6dFUZS+mV3sctTYti3q6urSgC8OVqYvQ3OWAZ9JKW88VCEhxKr9Z0rul//wodoY6Pn9QYbBroP+IEMPZfzSehgM16Cf6LnP7wXgAO9SpmneUF1d/Wh1dfVE3BHUgYwNfGGa5g0HK9DX8bRfOQ5tDPT8/iJDX37/iXCNj/W9MBiuQX/Q87Fuvyf5BxjtkpKSWuDCw9R1GQT02Trtwz2xHmk5l2OHq4P+gauHvqc/6KA/yODSd/TlMMrDvVzO5djh6qB/4Oqh7+kPOugPMrj0EX3W03ZxcXFxcXE5MtwJC72MECJ0mPx/CiHcoa1jiKuDvsfVgYvLscE12i4uLi4uLgOEfmG0D/dUPtAQQnxFCFHa6fPvhBDX9aFIPWIw6cHVQd8zUHUAg0sPLoOLfmG0XVxcXFxcXA5PvzHaQogUIcQ7QojPhBDrhRAXJdJHCCE2CSEeEUJsEEK8KYTw97W8gxVXD32Pq4P+gasHl/5IvzHaQBS4REp5KnAW8GshRLsv3THA76WUxUAzsLCPZOwpJl2vra+vBPkSDBY9uDroewayDmDw6MFlENHXHtE6I4C7hRBn4LhyKwByE3k7pZRrE8ergRHHX7wjYhcwQQjhxfmhOgf4sG9F6jGDRQ+uDvqegawDGDx6cBlE9CejfTWQA5RIKQ0hRDn7nsxjncpZQL8cihJCaEBMSlkphHgG+BzYCqzpW8mOiAGtB1cHfc8g0QEMcD24DE76k9FOA2oTN8dZwPC+FuhLUAxsB5BSLgGW7F9ASvmV4yzTkTLQ9eDqoO8ZDDqAga8Hl0FInxvt9qdy4K/AK0KIVcBaYHOfCnaECCFuBr4LfL+vZfkyDAY9uDroewa6DmBw6MFl8NLnbkyFEFOAR6SUM/pUkBMcVw99j6uD/oGrB5f+TJ/OHk88lT8J/Lgv5TjRcfXQ97g66B+4enDp7/R5T9vFxcXFxcWlZxz3nrYQolAI8V7COcEGIcT3EumZQoi3hBBbE/uMRPo8IcTqhHOD1UKIszu1VZJI3yaE+G2nNZQuh6CXdfA/QohK4bp9PGJ6Sw9CiCQhxKtCiM2Jdu7py/MaSPTyvfCGEGJdop2HhBBqX52XyyBGSnlcNyAPODVxHAC2ABOAXwJ3JNLvAO5NHJ8C5CeOJwK7O7W1EpiNs57ydeD8430+A3HrZR3MSrQX6uvzGmhbb+kBSALOShx7gH+598Lx1UHic2piL4DngEV9fX7uNvi2497TllLulVJ+ljgOAptwnBZcBDyRKPYEcHGizBop5Z5E+gbAJ4TwCiHycG6Sj6WUEljWXsfl0PSWDhJ5K6SUe4+n/IOF3tKDlDIspXwvUSYOfAYMO35nMnDp5XuhNZGu4Tw8ue8eXXqdvp6INgLnyfUTILf9xz+xH9JNlYXAGillDOfGquqUV5VIczkCjlIHLr1Eb+lBCJEOLADeOZbyDkZ6QwdCiH8AtUAQ+PsxFtnlBKTPjLYQIgVnCOn7nZ5QD1W+GLgXuKk9qZti7pPtEdALOnDpBXpLD4n1xU8Cv5VS7jgWsg5WeksHUsr5OEPuXuDsbqq6uBwVfWK0hRA6zg3yVynl84nkmsSQN4l9bafyw4AXgGuklNsTyVV0HQIcBuzBpUf0kg5cjpJe1sPDwFYp5QPHXvLBQ2/fC1LKKPAyzhC7i0uv0hezxwXwGLBJSnl/p6yXgWsTx9cCLyXKpwOvAv8lpVzeXjgxZBUUQsxKtHlNex2XQ9NbOnA5OnpTD0KI/8ZxuzlgPZH1Bb2lA+GE8Ww38hrwNVwPai7HgOO+TlsIMRdndut6nMg5AP8P5z3SM0ARUAFcLqVsFEL8GPgvnIAD7ZwrpawVQkwDluI4638d+I483ic0AOllHfwSuArIxxnpeFRK+bPjciIDnN7SA86kp0ocI9H+fvV3UspHj/lJDHB6UQcCKMUZFleBd4EfSCnN43EeLicOrnMVFxcXFxeXAUKfzh53cXFxcXFx6Tmu0XZxcXFxcRkguEbbxcXFxcVlgOAabRcXFxcXlwGCa7RdXFxcXFwGCK7RdnFxcXFxGSC4RtvFxcXFxWWA4BptFxcXFxeXAcL/D9hXxgwh9cqeAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"df_allCountries_final.plot(ax=ax)\n",
"ax.legend(bbox_to_anchor=(1, 1), loc=\"upper left\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Modification du code pour une echelle log sur les y"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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NQDa3oN0MZc24O2+B67YUAUjLKQCUKCT9D9vsquo74HryY5ayNyAM8auK8/tfy4quzTboeFEY4NiqxfdsqjNQVIGDx7cNzk52fz111/7V1ZWym+++ea50aNHm9PS0vyWLVsW9uabb+asXbu2iyRJYtOmTSGvvfZazg033FCbmpra49KlSwYAeOWVV3Luuuuuqvz8fDklJSWmpKREP3DgwCohRJPnzcjIMD766KO93nnnnbMjRoyoBoDXX389JD093Wft2rU5KSkpPf38/JSMjAyfoqIi/aJFiy6mpqaWKoqCadOmRX/33Xd+UVFRFlVV8cgjjxSnpqaWfvjhh/4LFiyICg4Otg8YMKC6/lwFBQXy5MmTe+bk5HiZTCZ11apV54cMGVIzf/78iHPnzhkKCgr0586dM7700ksXvv32W9/du3f7h4WF2b744otsLy+vpi/iKu59D1yxQMAOBTL8TRJk6ecJaopNa8DtdUPoCum4AWeMsU7AbrfT0aNHTyxZsuTCiy++GNFwW9++fa1Tp04tmj17dkFmZubx0aNHm2fNmhU1f/78gp9++unEJ598cnr27Nk9AeDpp5+OGDZsmPnEiRPHx48fX5aXl2do9IQAHnroodhly5bl3H333eam9ikoKNCnp6dnbtmy5dTzzz8fCQBr164NunDhgiErK+vYe++9d+7w4cO+AFBdXU1z5szpuXXr1uwffvghq7Cw8EoP8sknn4xISkqqPnny5PFFixZdmjZtWq/6befPn/favXt39ocffpg9e/bsXnfccUfFyZMnjxuNRnXTpk2tagzdewFauxUgBaowQTZ6AaRD4bkzEKqKypIaAAIKSGvAoYOe22/G2HWkPT3ltmoulGi9Bx98sBQAbr755qoFCxY02ejW279/v/+pU6euTHIym81yaWmp9N133/l9/PHH2QAwceLE8lmzZjUZFOWWW26pePvtt0NTUlLKm1p7ffz48WWyLCM5Obm2uLhYDwD79u3zfeCBB0plWUZ0dLR96NChlQBw5MgRY/fu3S0DBgywAMDkyZOL33rrrS4AcODAAb+PPvoouy7PypkzZ+qKi4tlALjzzjvLvby8xODBg2sURaEJEyZUAEBiYmLN2bNnr/leNOTeDbhiAUGBEDIkWUZ1eTn+9dTcX+5C2j1whWSYuAfOGGNO1VQo0V69elnq/zYajQIA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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"plt.yscale(\"log\") \n",
"df_allCountries_final.plot(ax=ax)\n",
"ax.legend(bbox_to_anchor=(1, 1), loc=\"upper left\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Question subsidiaire"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}