"Vous trouverez dans ce notebook le cheminement nécessaire pour représenter une figure semblable à celle présente sur le site du [South China morning post](https://www.scmp.com/coronavirus?src=homepage_covid_widget). Toutes les étapes sont décrites et commentées. \n",
"\n",
"---"
]
},
...
...
@@ -40,7 +43,7 @@
"* Données brutes utilisées dans ce document : [time_series_covid19_confirmed_global.csv](https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv)\n",
"\n",
"\n",
"On procède à un test afin de savoir si les données sont disponibles en local ou si l'ont doit utiliser l'URL."
"On procède à un test afin de savoir si les données sont disponibles en local ou si l'on doit utiliser l'URL d'origine."
]
},
{
...
...
@@ -1874,7 +1877,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Les données ci-dessus sont les données brutes provenant du fichier CSV de gauche à droite elles correspondent à :\n",
"Les données ci-dessus sont les données brutes provenant du fichier CSV, de gauche à droite elles correspondent à :\n",
"Les données manquantes corresponde aux pays qui ne sont pas représenté à travers différentes provinces et états les composants.\n",
"Cependant, nous ne sommes pas dépendant de ces données, seul les données relatives au pays suivant nous intéresse. \n",
"Les données manquantes correspondent aux pays qui ne sont pas représentés à travers différentes provinces et états les composants.\n",
"Cependant, nous ne sommes pas dépendant de ces données, seul les données relatives aux pays suivants nous intéressent. \n",
"\n",
"* Belgique \n",
"* Chine - toutes les provinces sauf Hong-Kong (China),\n",
...
...
@@ -1914,9 +1917,13 @@
"\n",
"## Regroupement des données à inclure dans l'étude\n",
"\n",
"Ici nous utilisons la méthode [*loc*](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html) de pandas pour extraire des données brutes les lignes correspondantes aux pays cités ci-dessus.\n",
"Ici nous utilisons la méthode [*loc*](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html) de pandas pour extraire des données brutes, les lignes correspondantes aux pays cités ci-dessus.\n",
"\n",
"Afin de ne pas rendre le *code* illisible le processus est divisé en de multiples étapes. (toutes ces étapes peuvent être regroupées)\n",
"\n",
"Afin de ne pas rendre le *code* illisible le processus est divisé en de multiples étapes. (toutes ces étapes peuvent être regroupées)"
"1. Exemple d'ajout de données liées à un pays;\n",
"2. Ajout de tous les autres pays excepté la Chine;\n",
"3. Ajout de la Chine en cumulant chacunes des ses provinces, sans Hong-Kong."
]
},
{
...
...
@@ -2189,7 +2196,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour éviter que deux lignes correspondent au même pays, la Chine. On renome *Hong Kong, China* en *Hong Kong, Hong Kong*. Ainsi Nous pourrons ajouter toute les régions de Chine dans une même ligne nommée *China*. Nous utilisons donc la méthode [replace](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html) pour remplacer le nom du pays."
"Pour éviter que deux lignes correspondent au même pays, la Chine. On renome *Hong Kong, China* en *Hong Kong, Hong Kong*. Ainsi, nous pourrons ajouter toutes les provinces de Chine dans une même ligne nommée *China*. Nous utilisons donc la méthode [replace](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html) pour remplacer le nom du pays."
]
},
{
...
...
@@ -2624,7 +2631,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"La chine est composée de plusieurs provinces. Pour étudier l'ensemble de la Chine moins Hong-kong (voir consigne) nous additionnons le nombre de contaminés par jour dans une nouvelle ligne nommée China avec l'index 1 car non utilisé (orignellement utilisé par l'Afghanistan). Pour se faire nous utilisons les méthodes [at](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.at.html) et [sum](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sum.html).\n",
"La chine est composée de plusieurs provinces. Pour étudier l'ensemble de la Chine moins Hong-kong (voir consigne) nous additionnons le nombre de cas par jour dans une nouvelle ligne nommée China avec l'index 1 car non utilisé (orignellement utilisé par l'Afghanistan). Pour se faire nous utilisons les méthodes [at](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.at.html) et [sum](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sum.html).\n",
"\n"
]
},
...
...
@@ -3622,12 +3629,15 @@
"source": [
"# Traitement des données \n",
"\n",
"Ici le traitement des données consiste uniquement à représenter des données temporelles dans un graphique. \n"
"Ici le traitement des données consiste uniquement à représenter des données temporelles dans un graphique. \n",
"Dans un premier temps les données sont transposées d'un format horizontal en format vertical pour être correctement représenté dans un graphique (voir méthode [transpose](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.transpose.html)). Enfin les columns sont renommées afin de correspondre à leur pays.\n",
"\n",
"Tout ce qui suit permet de dessiner le graphique suivant. Un détail est important à noter, l'ensemble des dates a été remplacé par le nombre de jour depuis la première donnée datant du 22 janvier 2020 (0 à 128). Pour éviter qu'ils ne se chevauchent 1 jour sur 4 est affiché sur l'absice. \n"
"Si nous ajoutons plus de données relatives aux pays étudiés nous pourrions réaliser un grand nombre de comparaisons entre pays.\n",
"\n",
"Un exemple : On peut comparer l'efficacité du confinement dans les pays qui ont appliqués un confinement strict, prenons la France et l'Italie. On peut facilement obtenir les dates de début de confinement ainsi que ne nombre de décès liés aux cas de coronavirus, ainsi qu'une multitude de facteurs démographiques. Avec un tel corpus de données, nous pourrions mener des tests statistiques suivants le modèle linéaire général. Probablement une régression linéaire multiple dans notre cas et ainsi voir si le nombre de jour passé depuis le début du confinement explique bien la stagnation du nombre de cas puis sa diminution.\n",
"\n",
"Étant donné la complexité d'une telle étude et le risque d'erreur d'interprétation et de calcul, ce serait prétentieux que de prétendre pouvoir conduire un tel test. Cependant, il est probable que de tels tests aient été menés par l'OMS ou les agences nationales de santé.\n",
"\n",
"# Conclusion \n",
"\n",
"Ce notebook présente la méthode employée afin de réaliser la figure ci-dessus **Cumulative coronavirus cases**. Les principales difficultés consistent à correctement regrouper les données dans un même jeu de données puis de les afficher de façon lisible dans un graphique. Ce notebook ne présente aucun algorithme complexe, mais nécessite une bonne connaissance des librairies python tel que *pyplot* et *pandas*.\n",