{
"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",
"from matplotlib.pyplot import cm\n",
"import pandas as pd\n",
"import numpy as np\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 verifier la presence d'une copie des donnees. Si elle n'existe pas, nous allons la recuperer sur le site et creons la copie locale.\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",
"Comptage rapide du nombre de donnees presentes :\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"(289, 1147)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_data = pd.read_csv(data_local)\n",
"raw_data.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le fichier contient 289 lignes pour 1147 colonnes\n",
"\n",
"On regarde le formattage des donnees a savoir \n",
"* chaque pays/province est indiquee en ligne \n",
"* les donnees des colonnes 1 a 4 correspondent aux infos du pays/region converne\n",
"* les donnees des colonnes 5 et suivantes correspondent aux nombres de cas cummule par jour (jour indique en etiquette de la colonne)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"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": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Verification rapide de l'integrite des donnes\n",
"\n",
"#### Verification d'absence de donnees ou de donnees negatives\n",
"On regarde ici si on a une colonne de donnees (colonne 5 et suivante) dont le comptage serait negatif.\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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 ?\n",
"On peut aussi regarder si chaque valeur est inferieure a la valeur suivante."
]
},
{
"cell_type": "code",
"execution_count": 6,
"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": [
"--> il y a donc bien des valeurs possiblement incoherentes avec des jours ou le taux cummule de cas decroit par rapport a la veille. \n",
"Est-ce une rectification due a un mauvais diagnostique initial ? une modification de la methode de comptage ?\n",
"\n",
"Aux vues du faible nombre d'incoherence (362) par rapport au nombre de donnees total (288 lignes de donnees * 1142 comptage = 328896 donnees totales), on peut choisir de passer outre et de conserver la table ainsi\n",
"\n",
"\n",
"\n",
"## 1eres analyses realisees 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": 7,
"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": 7,
"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": 8,
"metadata": {},
"outputs": [],
"source": [
"df_france_final = df_france.transpose()[5:]\n",
"\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": 9,
"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": 9,
"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": 10,
"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": 10,
"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": 11,
"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": 11,
"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": 12,
"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",
"Je choisis de faire une copie du fichier initial raw_data pour pouvoir y revenir le cas echeant. \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",
" 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": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"new_data= raw_data\n",
"new_data.loc[(new_data['Province/State'] == \"Hong Kong\"),'Country/Region'] = \"Hong Kong\"\n",
"new_data.loc[(new_data['Province/State'] == \"Hong Kong\"),'Province/State'] = np.nan\n",
"new_data.loc[(new_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",
"On commence par recuperer toutes les donnees de Chine\n"
]
},
{
"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",
" 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": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_china = new_data.loc[(new_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": 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",
" 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": 15,
"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": 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",
" 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": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"newSet = pd.concat([new_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 \"interest_countries\".\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": 17,
"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": 17,
"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": [
"### Analyse de l'évolution du nombre de cas cumulés au cours du temps\n",
"\n",
"On transforma la table pour etre plus comprehensible par matplotlib pour faire le graphique - globalement on realise une transposition en supprimant les data lattitude/longitude pour le moment et en renommant les colonnes avec le nom du pays correspondant.\n"
]
},
{
"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",
" 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": 18,
"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": 19,
"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": 19,
"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 avec le nombre de cas en fonction des jours, en utilisant un code couleur pour les pays consideres. \n"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"color = cm.rainbow(np.linspace(0, 1, len(interest_countries)))\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"df_allCountries_final.plot(ax=ax, color=color)\n",
"ax.legend(bbox_to_anchor=(1, 1), loc=\"upper left\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On modifie l'echelle des y en log pour mieux voir les distribution."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9ddfX3jjjTcWPvnkk7t8MbHZbPK///u/65csWeJ85plntgDccMMN9srKSttnn322rqOjQx09evQRv/jFL5qtVqvc1TUOBIfFCHybgKeteBPxbQIeKsnCWhtDMWdSq0Rpl3G+I3oOx3qg2FIl+d21EpsdfnWfYPhYQ7gNDAz2j96MlA8EZrNZTpw4MfTwww9nT506dVsfli5d6nzrrbeqAK699tq23/3ud9sSWJx//vntJpMuSR988IFn0aJFGfPnz88HiMfjorKy0jJkyJDkVVddNWT16tV2RVHYvHlzj+khTSYTH3300YYPP/zQ8fbbb3tuuummkiVLljhvvvnmxmAwqJ555pkhgB/+8IetF1xwwdC9fc7TTjutw263S7vdnsrKykrW1taahg0bltzb6+wrPUc+GQj0QsDbZRApBVFpwhsTEIwhFUE824PTG8Fsy6RSTznLKDIPRq93QEtLHrtDYrHALY8a4m1gYDCwEULw2muvbVy2bJnzpptu6lVIS5fLtS1qp5SSl156qXLt2rWr165du7qhoWHFxIkTY7fddltebm5ucs2aNatXrFixOplM7lHDFEVhxowZkdtvv33rX//6140LFizI6Km9yWSS6XQagEgk0uM/4+6jbVVVSaVSB/Wf92Eh4CGixDULmiYQkTT4Y6RddqRUcGUHUc2ZVMsAWVjx9iLfd1/z7it6cpDLfiaMWOIGBgaDArfbrS1cuHDDSy+95PvLX/6SDTBhwoTw448/ngl6vvDJkyeHdnXujBkzAnfffXeepuma/umnn9pBT1FaUFCQVFWVBx980NcltADl5eXfCgZSXV1t/uSTT7aJw5IlSxxFRUUJn8+X9ng86YULF7oAnnjiCd+xxx4bAigpKYl/+eWXToBnn31224jO4/GkQ6HQIaWZA38OPNiZWcO1e8ezKHHimgktrRKJpyCcIJHrI1nvxOqtxWTJZDMByvvB+zwRl7zyv5IxE+HYUw767Q0MDAwOGHl5eemFCxeuP+mkk0bl5OSkHnrooS2XX3552b333pvf5cS2q/PuuOOO+quvvrp01KhRY6SUori4OP7+++9XXn/99U1z5swZ9sorr2SecMIJQbvdrgE0NDSYpJTfGv0kEgkxb9684sbGRrPVapVZWVnJxx57bAvAU089tenaa68d8tOf/lQpLS2NP//889UAN910U+OF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b8b5fD4Atm7dGm6z2UzLli29Qa1wE1WjIXRjzOci0vms4kHAXmPMfgAReRO4EdgRyArWRFaui2aZOeD2/6fodNVgnr/cwUxbhQBe7ABAtAeulFIN7rXXXjswffr0jg888EAiwAMPPHC8rOedMHv27MTw8HCf3W43L7300gG7PSTupz7v6vNXSwAqzq8cBQaLSDzwOHCpiDxojHmysjeLyN3A3QAdO3ascyV8XgPhXiLyC2F/NgBXXNacPokWJtPg9HkxCBTZwKk9cKWUOh+Sk5NLvv32291nl69YsWJ/MOoTiuoTwCu7S8EYY7KAaed6szFmkYicAEY7nc7kulZi7b+heY9TdF6/E4A18dfRJcrfyzbgD+CWBcUWOLUHrpRSKjTU5zGyo0BihdcdgOP1q07tbfrS0Ov0LihwAfB4t0cJd/q/WxgMDuPFZ1lIqb9Ml1JVSikVCuoTwL8HeohIFxFxAuOB9wNTrZorCCshuqQQjKEwohk5jhZE+Ke7z/TAfZaF+OM7okPoSimlQkBNHyN7A/ga6CUiR0VksjHGA8wAVgM7gWXGmO21OXkg0okW2930S92B17IoKZsRCHeeOQNO48UnguUu64HrELpSSqkQUNO70CdUUb4KWFXXk4vIaGB09+7d63oIXD4PzXLy8FkWHmNncHchvLwHLuDwefFZguX136GuPXCllFKhIKhLqQaiBz7Atxany01Wy+ZERTv4nylORARjDABO48VYgs3yYoyFiCNQ1VdKKaWCpsmnE73Etx6AwogInM4fF/NxGxAxZT1wC0t84HNWucSfUkqp+qsulWh17/v8888j77zzzkSAFStWxHz88cdRtT13QkJCvxMnTvzHyHLF8i+++CIyISGh3/r16yNef/31uDlz5rSt7Xkqs2LFipirr7667sPJddCk04kaY7A7Szneuh2eo8U4nD/2rl3GIIDDePxz4OIjRJKvKaVUyBk2bFjRsGHDigDWrl0bEx0d7R0xYkRhIM/x7bffRowfP77bP/7xj31XXHFF8RVXXFEM1L0HGWRBjWj1nQP3eiCieQE+u4Vx+xD7TwM4FebABQNGl9tVSl1AnpiVyIG0wKYT7dKriDlP1zlJyqBBg3olJycXfPnll7H5+fm2F1988eDIkSMLVqxYETNv3rw2L7744uElS5a0sizLLFu2LP655547fPHFF5ek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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, color=color)\n",
"ax.legend(bbox_to_anchor=(1, 1), loc=\"upper left\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"C'est donc les USA ayant eu le plus de cas recences, mais a normaliser par le nombre d'habitant global de chaque territoire et/ou du nombre de deces. \n",
"\n",
"## Question subsidiaire\n",
"\n",
"On recupere les donnees de deces en faisant une copie local au besoin. "
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"death_url = \"https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv\"\n",
"death_file = \"time_series_covid19_deaths_global.csv\"\n",
"\n",
"if not os.path.isfile(death_file):\n",
" urlretrieve(death_url, death_file) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Comme precedemment, on se doit de regarder les donnees apres chargement."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(289, 1147)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"death_data = pd.read_csv(death_file)\n",
"death_data.shape"
]
},
{
"cell_type": "code",
"execution_count": 24,
"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",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \n",
" 7896 \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",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \n",
" 3598 \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",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \n",
" 6881 \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",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \n",
" 165 \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",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \n",
" 1933 \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",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \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",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \n",
" 146 \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",
" 130463 \n",
" 130463 \n",
" 130463 \n",
" 130463 \n",
" 130463 \n",
" 130463 \n",
" 130472 \n",
" 130472 \n",
" 130472 \n",
" 130472 \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",
" 8721 \n",
" 8721 \n",
" 8721 \n",
" 8721 \n",
" 8721 \n",
" 8721 \n",
" 8721 \n",
" 8721 \n",
" 8727 \n",
" 8727 \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",
" 224 \n",
" 224 \n",
" 228 \n",
" 228 \n",
" 228 \n",
" 228 \n",
" 228 \n",
" 228 \n",
" 228 \n",
" 228 \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",
" 0 \n",
" 0 \n",
" ... \n",
" 6464 \n",
" 6464 \n",
" 6493 \n",
" 6493 \n",
" 6493 \n",
" 6493 \n",
" 6493 \n",
" 6493 \n",
" 6493 \n",
" 6529 \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",
" 90 \n",
" 90 \n",
" 90 \n",
" 90 \n",
" 90 \n",
" 90 \n",
" 90 \n",
" 90 \n",
" 90 \n",
" 91 \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",
" 2760 \n",
" 2760 \n",
" 2783 \n",
" 2783 \n",
" 2783 \n",
" 2783 \n",
" 2783 \n",
" 2783 \n",
" 2783 \n",
" 2783 \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",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1322 \n",
" 1365 \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",
" 252 \n",
" 252 \n",
" 252 \n",
" 253 \n",
" 253 \n",
" 253 \n",
" 253 \n",
" 253 \n",
" 253 \n",
" 256 \n",
" \n",
" \n",
" 15 \n",
" Victoria \n",
" Australia \n",
" -37.813600 \n",
" 144.963100 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 7317 \n",
" 7317 \n",
" 7338 \n",
" 7338 \n",
" 7338 \n",
" 7338 \n",
" 7338 \n",
" 7338 \n",
" 7338 \n",
" 7370 \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",
" 944 \n",
" 944 \n",
" 952 \n",
" 952 \n",
" 952 \n",
" 952 \n",
" 952 \n",
" 952 \n",
" 952 \n",
" 952 \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",
" 21887 \n",
" 21891 \n",
" 21899 \n",
" 21907 \n",
" 21921 \n",
" 21922 \n",
" 21923 \n",
" 21941 \n",
" 21949 \n",
" 21970 \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",
" 10119 \n",
" 10119 \n",
" 10122 \n",
" 10126 \n",
" 10127 \n",
" 10129 \n",
" 10129 \n",
" 10135 \n",
" 10138 \n",
" 10138 \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",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \n",
" 833 \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",
" 1548 \n",
" 1549 \n",
" 1550 \n",
" 1552 \n",
" 1552 \n",
" 1552 \n",
" 1552 \n",
" 1553 \n",
" 1553 \n",
" 1553 \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",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \n",
" 29445 \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",
" 575 \n",
" 575 \n",
" 575 \n",
" 575 \n",
" 575 \n",
" 575 \n",
" 575 \n",
" 575 \n",
" 575 \n",
" 579 \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",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \n",
" 7118 \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",
" 33717 \n",
" 33717 \n",
" 33775 \n",
" 33775 \n",
" 33775 \n",
" 33775 \n",
" 33775 \n",
" 33775 \n",
" 33775 \n",
" 33814 \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",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \n",
" 688 \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",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \n",
" 163 \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",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \n",
" 21 \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",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \n",
" 22365 \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",
" 16278 \n",
" 16279 \n",
" 16279 \n",
" 16279 \n",
" 16279 \n",
" 16279 \n",
" 16279 \n",
" 16279 \n",
" 16280 \n",
" 16280 \n",
" \n",
" \n",
" ... \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",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 260 \n",
" NaN \n",
" US \n",
" 40.000000 \n",
" -100.000000 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1119917 \n",
" 1120897 \n",
" 1121658 \n",
" 1122165 \n",
" 1122172 \n",
" 1122134 \n",
" 1122181 \n",
" 1122516 \n",
" 1123246 \n",
" 1123836 \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",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \n",
" 3630 \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",
" 119149 \n",
" 119209 \n",
" 119210 \n",
" 119211 \n",
" 119212 \n",
" 119213 \n",
" 119216 \n",
" 119217 \n",
" 119281 \n",
" 119283 \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",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \n",
" 2349 \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",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \n",
" 12 \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",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \n",
" 160 \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",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \n",
" 64 \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",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \n",
" 37 \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",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \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",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \n",
" 111 \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",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \n",
" 66 \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",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \n",
" 116 \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",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \n",
" 161 \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",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \n",
" 8 \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",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \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",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \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",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \n",
" 38 \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",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \n",
" 219948 \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",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \n",
" 7617 \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",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \n",
" 1637 \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",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \n",
" 14 \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",
" 5853 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" 5854 \n",
" \n",
" \n",
" 283 \n",
" NaN \n",
" Vietnam \n",
" 14.058324 \n",
" 108.277199 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \n",
" 43186 \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",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \n",
" 5708 \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",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \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",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \n",
" 2159 \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",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \n",
" 4057 \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",
" 5663 \n",
" 5668 \n",
" 5668 \n",
" 5668 \n",
" 5668 \n",
" 5668 \n",
" 5668 \n",
" 5668 \n",
" 5671 \n",
" 5671 \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 0 \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 0 \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 0 0 0 0 0 \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 0 0 0 0 \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 3/4/23 3/5/23 \\\n",
"0 0 ... 7896 7896 7896 7896 7896 7896 \n",
"1 0 ... 3598 3598 3598 3598 3598 3598 \n",
"2 0 ... 6881 6881 6881 6881 6881 6881 \n",
"3 0 ... 165 165 165 165 165 165 \n",
"4 0 ... 1933 1933 1933 1933 1933 1933 \n",
"5 0 ... 0 0 0 0 0 0 \n",
"6 0 ... 146 146 146 146 146 146 \n",
"7 0 ... 130463 130463 130463 130463 130463 130463 \n",
"8 0 ... 8721 8721 8721 8721 8721 8721 \n",
"9 0 ... 224 224 228 228 228 228 \n",
"10 0 ... 6464 6464 6493 6493 6493 6493 \n",
"11 0 ... 90 90 90 90 90 90 \n",
"12 0 ... 2760 2760 2783 2783 2783 2783 \n",
"13 0 ... 1322 1322 1322 1322 1322 1322 \n",
"14 0 ... 252 252 252 253 253 253 \n",
"15 0 ... 7317 7317 7338 7338 7338 7338 \n",
"16 0 ... 944 944 952 952 952 952 \n",
"17 0 ... 21887 21891 21899 21907 21921 21922 \n",
"18 0 ... 10119 10119 10122 10126 10127 10129 \n",
"19 0 ... 833 833 833 833 833 833 \n",
"20 0 ... 1548 1549 1550 1552 1552 1552 \n",
"21 0 ... 29445 29445 29445 29445 29445 29445 \n",
"22 0 ... 575 575 575 575 575 575 \n",
"23 0 ... 7118 7118 7118 7118 7118 7118 \n",
"24 0 ... 33717 33717 33775 33775 33775 33775 \n",
"25 0 ... 688 688 688 688 688 688 \n",
"26 0 ... 163 163 163 163 163 163 \n",
"27 0 ... 21 21 21 21 21 21 \n",
"28 0 ... 22365 22365 22365 22365 22365 22365 \n",
"29 0 ... 16278 16279 16279 16279 16279 16279 \n",
".. ... ... ... ... ... ... ... ... \n",
"259 0 ... 0 0 0 0 0 0 \n",
"260 0 ... 1119917 1120897 1121658 1122165 1122172 1122134 \n",
"261 0 ... 3630 3630 3630 3630 3630 3630 \n",
"262 0 ... 119149 119209 119210 119211 119212 119213 \n",
"263 0 ... 2349 2349 2349 2349 2349 2349 \n",
"264 0 ... 12 12 12 12 12 12 \n",
"265 0 ... 160 160 160 160 160 160 \n",
"266 0 ... 64 64 64 64 64 64 \n",
"267 0 ... 37 37 37 37 37 37 \n",
"268 0 ... 0 0 0 0 0 0 \n",
"269 0 ... 0 0 0 0 0 0 \n",
"270 0 ... 111 111 111 111 111 111 \n",
"271 0 ... 66 66 66 66 66 66 \n",
"272 0 ... 116 116 116 116 116 116 \n",
"273 0 ... 161 161 161 161 161 161 \n",
"274 0 ... 8 8 8 8 8 8 \n",
"275 0 ... 0 0 0 0 0 0 \n",
"276 0 ... 0 0 0 0 0 0 \n",
"277 0 ... 38 38 38 38 38 38 \n",
"278 0 ... 219948 219948 219948 219948 219948 219948 \n",
"279 0 ... 7617 7617 7617 7617 7617 7617 \n",
"280 0 ... 1637 1637 1637 1637 1637 1637 \n",
"281 0 ... 14 14 14 14 14 14 \n",
"282 0 ... 5853 5854 5854 5854 5854 5854 \n",
"283 0 ... 43186 43186 43186 43186 43186 43186 \n",
"284 0 ... 5708 5708 5708 5708 5708 5708 \n",
"285 0 ... 0 0 0 0 0 0 \n",
"286 0 ... 2159 2159 2159 2159 2159 2159 \n",
"287 0 ... 4057 4057 4057 4057 4057 4057 \n",
"288 0 ... 5663 5668 5668 5668 5668 5668 \n",
"\n",
" 3/6/23 3/7/23 3/8/23 3/9/23 \n",
"0 7896 7896 7896 7896 \n",
"1 3598 3598 3598 3598 \n",
"2 6881 6881 6881 6881 \n",
"3 165 165 165 165 \n",
"4 1933 1933 1933 1933 \n",
"5 0 0 0 0 \n",
"6 146 146 146 146 \n",
"7 130472 130472 130472 130472 \n",
"8 8721 8721 8727 8727 \n",
"9 228 228 228 228 \n",
"10 6493 6493 6493 6529 \n",
"11 90 90 90 91 \n",
"12 2783 2783 2783 2783 \n",
"13 1322 1322 1322 1365 \n",
"14 253 253 253 256 \n",
"15 7338 7338 7338 7370 \n",
"16 952 952 952 952 \n",
"17 21923 21941 21949 21970 \n",
"18 10129 10135 10138 10138 \n",
"19 833 833 833 833 \n",
"20 1552 1553 1553 1553 \n",
"21 29445 29445 29445 29445 \n",
"22 575 575 575 579 \n",
"23 7118 7118 7118 7118 \n",
"24 33775 33775 33775 33814 \n",
"25 688 688 688 688 \n",
"26 163 163 163 163 \n",
"27 21 21 21 21 \n",
"28 22365 22365 22365 22365 \n",
"29 16279 16279 16280 16280 \n",
".. ... ... ... ... \n",
"259 0 0 0 0 \n",
"260 1122181 1122516 1123246 1123836 \n",
"261 3630 3630 3630 3630 \n",
"262 119216 119217 119281 119283 \n",
"263 2349 2349 2349 2349 \n",
"264 12 12 12 12 \n",
"265 160 160 160 160 \n",
"266 64 64 64 64 \n",
"267 37 37 37 37 \n",
"268 0 0 0 0 \n",
"269 0 0 0 0 \n",
"270 111 111 111 111 \n",
"271 66 66 66 66 \n",
"272 116 116 116 116 \n",
"273 161 161 161 161 \n",
"274 8 8 8 8 \n",
"275 0 0 0 0 \n",
"276 0 0 0 0 \n",
"277 38 38 38 38 \n",
"278 219948 219948 219948 219948 \n",
"279 7617 7617 7617 7617 \n",
"280 1637 1637 1637 1637 \n",
"281 14 14 14 14 \n",
"282 5854 5854 5854 5854 \n",
"283 43186 43186 43186 43186 \n",
"284 5708 5708 5708 5708 \n",
"285 0 0 0 0 \n",
"286 2159 2159 2159 2159 \n",
"287 4057 4057 4057 4057 \n",
"288 5668 5668 5671 5671 \n",
"\n",
"[289 rows x 1147 columns]"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"death_data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le format est donc identique aux donnees precedentes et peuvent etre traitees de la meme maniere apres les memes verifications\n",
"* presence de donnees manquantes "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"columns_to_study = death_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(death_data.iloc[i,d+4]) or death_data.iloc[i,d+4]<0):\n",
" print(death_data.iloc[i,d+4])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"--> pas de donnees manquantes\n",
"* incoherence avec un nombre de deces commule qui decroit ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"flag = 0\n",
"for i in death_data.index : \n",
" for d in range(len(columns_to_study[:-1])):\n",
" if (int(death_data.iloc[i,d+4]) > int(death_data.iloc[i,d+4 +1])):\n",
" data_problem = (death_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": [
"--> on a le meme type d'incoherence que precedemment, minoritaire comparee a la quantite de donnees, mais qu'il faudrait investiguer pour plus de fiabilite dans les donnees. Pour ce TP, je choisis de ne rien filtrer vu la faible proportion que cela represente. "
]
},
{
"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
}