diff --git a/module3/exo1/analyse-syndrome-grippal-Copy1.ipynb b/module3/exo1/analyse-syndrome-grippal-Copy1.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..0e8f097ce0c74036b5fd8a9e1f35bc06f5d272b0 --- /dev/null +++ b/module3/exo1/analyse-syndrome-grippal-Copy1.ipynb @@ -0,0 +1,1358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Incidence du syndrome grippal" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import isoweek" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données de l'incidence du syndrome grippal sont disponibles du site Web du [Réseau Sentinelles](http://www.sentiweb.fr/). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée. Nous téléchargeons toujours le jeu de données complet, qui commence en 1984 et se termine avec une semaine récente." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "data_url = \"https://www.sentiweb.fr/datasets/incidence-PAY-3.csv?v=8nhxe\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Pour ne pas à avoir à télécharger le fichier à chaque éxécution " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "data_file = \"syndrome-grippal.csv\"\n", + "\n", + "import os\n", + "import urllib.request\n", + "if not os.path.exists(data_file):\n", + " urllib.request.urlretrieve(data_url, data_file)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voici l'explication des colonnes données [sur le site d'origine](https://ns.sentiweb.fr/incidence/csv-schema-v1.json):\n", + "\n", + "| Nom de colonne | Libellé de colonne |\n", + "|----------------|-----------------------------------------------------------------------------------------------------------------------------------|\n", + "| week | Semaine calendaire (ISO 8601) |\n", + "| indicator | Code de l'indicateur de surveillance |\n", + "| inc | Estimation de l'incidence de consultations en nombre de cas |\n", + "| inc_low | Estimation de la borne inférieure de l'IC95% du nombre de cas de consultation |\n", + "| inc_up | Estimation de la borne supérieure de l'IC95% du nombre de cas de consultation |\n", + "| inc100 | Estimation du taux d'incidence du nombre de cas de consultation (en cas pour 100,000 habitants) |\n", + "| inc100_low | Estimation de la borne inférieure de l'IC95% du taux d'incidence du nombre de cas de consultation (en cas pour 100,000 habitants) |\n", + "| inc100_up | Estimation de la borne supérieure de l'IC95% du taux d'incidence du nombre de cas de consultation (en cas pour 100,000 habitants) |\n", + "| geo_insee | Code de la zone géographique concernée (Code INSEE) http://www.insee.fr/fr/methodes/nomenclatures/cog/ |\n", + "| geo_name | Libellé de la zone géographique (ce libellé peut être modifié sans préavis) |\n", + "\n", + "La première ligne du fichier CSV est un commentaire, que nous ignorons en précisant `skiprows=1`." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
020234639293481854.0104014.0140123.0157.0FRFrance
120234537184562813.080877.010894.0122.0FRFrance
220234434995242813.057091.07564.086.0FRFrance
320234334498238170.051794.06858.078.0FRFrance
420234235684249277.064407.08675.097.0FRFrance
520234135835751032.065682.08877.099.0FRFrance
620234036889460069.077719.010491.0117.0FRFrance
720233937200363452.080554.010895.0121.0FRFrance
820233836321855227.071209.09583.0107.0FRFrance
920233734908542079.056091.07463.085.0FRFrance
1020233633824732237.044257.05849.067.0FRFrance
1120233533169526013.037377.04839.057.0FRFrance
1220233432666321057.032269.04032.048.0FRFrance
1320233331914413161.025127.02920.038.0FRFrance
1420233231464110285.018997.02215.029.0FRFrance
1520233131528610705.019867.02316.030.0FRFrance
162023303132058647.017763.02013.027.0FRFrance
172023293111227113.015131.01711.023.0FRFrance
18202328391795703.012655.0149.019.0FRFrance
19202327389995763.012235.0149.019.0FRFrance
20202326390235934.012112.0149.019.0FRFrance
212023253100906739.013441.01510.020.0FRFrance
222023243113087639.014977.01711.023.0FRFrance
2320232331430010661.017939.02217.027.0FRFrance
2420232231830313822.022784.02821.035.0FRFrance
2520232131646012188.020732.02519.031.0FRFrance
2620232031616211963.020361.02418.030.0FRFrance
2720231931690112577.021225.02518.032.0FRFrance
2820231831992915402.024456.03023.037.0FRFrance
2920231732700721779.032235.04133.049.0FRFrance
.................................
200819852132609619621.032571.04735.059.0FRFrance
200919852032789620885.034907.05138.064.0FRFrance
201019851934315432821.053487.07859.097.0FRFrance
201119851834055529935.051175.07455.093.0FRFrance
201219851733405324366.043740.06244.080.0FRFrance
201319851635036236451.064273.09166.0116.0FRFrance
201419851536388145538.082224.011683.0149.0FRFrance
20151985143134545114400.0154690.0244207.0281.0FRFrance
20161985133197206176080.0218332.0357319.0395.0FRFrance
20171985123245240223304.0267176.0445405.0485.0FRFrance
20181985113276205252399.0300011.0501458.0544.0FRFrance
20191985103353231326279.0380183.0640591.0689.0FRFrance
20201985093369895341109.0398681.0670618.0722.0FRFrance
20211985083389886359529.0420243.0707652.0762.0FRFrance
20221985073471852432599.0511105.0855784.0926.0FRFrance
20231985063565825518011.0613639.01026939.01113.0FRFrance
20241985053637302592795.0681809.011551074.01236.0FRFrance
20251985043424937390794.0459080.0770708.0832.0FRFrance
20261985033213901174689.0253113.0388317.0459.0FRFrance
202719850239758680949.0114223.0177147.0207.0FRFrance
202819850138548965918.0105060.0155120.0190.0FRFrance
202919845238483060602.0109058.0154110.0198.0FRFrance
2030198451310172680242.0123210.0185146.0224.0FRFrance
20311984503123680101401.0145959.0225184.0266.0FRFrance
2032198449310107381684.0120462.0184149.0219.0FRFrance
203319844837862060634.096606.0143110.0176.0FRFrance
203419844737202954274.089784.013199.0163.0FRFrance
203519844638733067686.0106974.0159123.0195.0FRFrance
20361984453135223101414.0169032.0246184.0308.0FRFrance
203719844436842220056.0116788.012537.0213.0FRFrance
\n", + "

2038 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202346 3 92934 81854.0 104014.0 140 123.0 \n", + "1 202345 3 71845 62813.0 80877.0 108 94.0 \n", + "2 202344 3 49952 42813.0 57091.0 75 64.0 \n", + "3 202343 3 44982 38170.0 51794.0 68 58.0 \n", + "4 202342 3 56842 49277.0 64407.0 86 75.0 \n", + "5 202341 3 58357 51032.0 65682.0 88 77.0 \n", + "6 202340 3 68894 60069.0 77719.0 104 91.0 \n", + "7 202339 3 72003 63452.0 80554.0 108 95.0 \n", + "8 202338 3 63218 55227.0 71209.0 95 83.0 \n", + "9 202337 3 49085 42079.0 56091.0 74 63.0 \n", + "10 202336 3 38247 32237.0 44257.0 58 49.0 \n", + "11 202335 3 31695 26013.0 37377.0 48 39.0 \n", + "12 202334 3 26663 21057.0 32269.0 40 32.0 \n", + "13 202333 3 19144 13161.0 25127.0 29 20.0 \n", + "14 202332 3 14641 10285.0 18997.0 22 15.0 \n", + "15 202331 3 15286 10705.0 19867.0 23 16.0 \n", + "16 202330 3 13205 8647.0 17763.0 20 13.0 \n", + "17 202329 3 11122 7113.0 15131.0 17 11.0 \n", + "18 202328 3 9179 5703.0 12655.0 14 9.0 \n", + "19 202327 3 8999 5763.0 12235.0 14 9.0 \n", + "20 202326 3 9023 5934.0 12112.0 14 9.0 \n", + "21 202325 3 10090 6739.0 13441.0 15 10.0 \n", + "22 202324 3 11308 7639.0 14977.0 17 11.0 \n", + "23 202323 3 14300 10661.0 17939.0 22 17.0 \n", + "24 202322 3 18303 13822.0 22784.0 28 21.0 \n", + "25 202321 3 16460 12188.0 20732.0 25 19.0 \n", + "26 202320 3 16162 11963.0 20361.0 24 18.0 \n", + "27 202319 3 16901 12577.0 21225.0 25 18.0 \n", + "28 202318 3 19929 15402.0 24456.0 30 23.0 \n", + "29 202317 3 27007 21779.0 32235.0 41 33.0 \n", + "... ... ... ... ... ... ... ... \n", + "2008 198521 3 26096 19621.0 32571.0 47 35.0 \n", + "2009 198520 3 27896 20885.0 34907.0 51 38.0 \n", + "2010 198519 3 43154 32821.0 53487.0 78 59.0 \n", + "2011 198518 3 40555 29935.0 51175.0 74 55.0 \n", + "2012 198517 3 34053 24366.0 43740.0 62 44.0 \n", + "2013 198516 3 50362 36451.0 64273.0 91 66.0 \n", + "2014 198515 3 63881 45538.0 82224.0 116 83.0 \n", + "2015 198514 3 134545 114400.0 154690.0 244 207.0 \n", + "2016 198513 3 197206 176080.0 218332.0 357 319.0 \n", + "2017 198512 3 245240 223304.0 267176.0 445 405.0 \n", + "2018 198511 3 276205 252399.0 300011.0 501 458.0 \n", + "2019 198510 3 353231 326279.0 380183.0 640 591.0 \n", + "2020 198509 3 369895 341109.0 398681.0 670 618.0 \n", + "2021 198508 3 389886 359529.0 420243.0 707 652.0 \n", + "2022 198507 3 471852 432599.0 511105.0 855 784.0 \n", + "2023 198506 3 565825 518011.0 613639.0 1026 939.0 \n", + "2024 198505 3 637302 592795.0 681809.0 1155 1074.0 \n", + "2025 198504 3 424937 390794.0 459080.0 770 708.0 \n", + "2026 198503 3 213901 174689.0 253113.0 388 317.0 \n", + "2027 198502 3 97586 80949.0 114223.0 177 147.0 \n", + "2028 198501 3 85489 65918.0 105060.0 155 120.0 \n", + "2029 198452 3 84830 60602.0 109058.0 154 110.0 \n", + "2030 198451 3 101726 80242.0 123210.0 185 146.0 \n", + "2031 198450 3 123680 101401.0 145959.0 225 184.0 \n", + "2032 198449 3 101073 81684.0 120462.0 184 149.0 \n", + "2033 198448 3 78620 60634.0 96606.0 143 110.0 \n", + "2034 198447 3 72029 54274.0 89784.0 131 99.0 \n", + "2035 198446 3 87330 67686.0 106974.0 159 123.0 \n", + "2036 198445 3 135223 101414.0 169032.0 246 184.0 \n", + "2037 198444 3 68422 20056.0 116788.0 125 37.0 \n", + "\n", + " inc100_up geo_insee geo_name \n", + "0 157.0 FR France \n", + "1 122.0 FR France \n", + "2 86.0 FR France \n", + "3 78.0 FR France \n", + "4 97.0 FR France \n", + "5 99.0 FR France \n", + "6 117.0 FR France \n", + "7 121.0 FR France \n", + "8 107.0 FR France \n", + "9 85.0 FR France \n", + "10 67.0 FR France \n", + "11 57.0 FR France \n", + "12 48.0 FR France \n", + "13 38.0 FR France \n", + "14 29.0 FR France \n", + "15 30.0 FR France \n", + "16 27.0 FR France \n", + "17 23.0 FR France \n", + "18 19.0 FR France \n", + "19 19.0 FR France \n", + "20 19.0 FR France \n", + "21 20.0 FR France \n", + "22 23.0 FR France \n", + "23 27.0 FR France \n", + "24 35.0 FR France \n", + "25 31.0 FR France \n", + "26 30.0 FR France \n", + "27 32.0 FR France \n", + "28 37.0 FR France \n", + "29 49.0 FR France \n", + "... ... ... ... \n", + "2008 59.0 FR France \n", + "2009 64.0 FR France \n", + "2010 97.0 FR France \n", + "2011 93.0 FR France \n", + "2012 80.0 FR France \n", + "2013 116.0 FR France \n", + "2014 149.0 FR France \n", + "2015 281.0 FR France \n", + "2016 395.0 FR France \n", + "2017 485.0 FR France \n", + "2018 544.0 FR France \n", + "2019 689.0 FR France \n", + "2020 722.0 FR France \n", + "2021 762.0 FR France \n", + "2022 926.0 FR France \n", + "2023 1113.0 FR France \n", + "2024 1236.0 FR France \n", + "2025 832.0 FR France \n", + "2026 459.0 FR France \n", + "2027 207.0 FR France \n", + "2028 190.0 FR France \n", + "2029 198.0 FR France \n", + "2030 224.0 FR France \n", + "2031 266.0 FR France \n", + "2032 219.0 FR France \n", + "2033 176.0 FR France \n", + "2034 163.0 FR France \n", + "2035 195.0 FR France \n", + "2036 308.0 FR France \n", + "2037 213.0 FR France \n", + "\n", + "[2038 rows x 10 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data = pd.read_csv(data_file, skiprows=1)\n", + "raw_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Y a-t-il des points manquants dans ce jeux de données ? Oui, la semaine 19 de l'année 1989 n'a pas de valeurs associées." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "raw_data[raw_data.isnull().any(axis=1)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous éliminons ce point, ce qui n'a pas d'impact fort sur notre analyse qui est assez simple." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "data = raw_data.dropna().copy()\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nos données utilisent une convention inhabituelle: le numéro de\n", + "semaine est collé à l'année, donnant l'impression qu'il s'agit\n", + "de nombre entier. C'est comme ça que Pandas les interprète.\n", + " \n", + "Un deuxième problème est que Pandas ne comprend pas les numéros de\n", + "semaine. Il faut lui fournir les dates de début et de fin de\n", + "semaine. Nous utilisons pour cela la bibliothèque `isoweek`.\n", + "\n", + "Comme la conversion des semaines est devenu assez complexe, nous\n", + "écrivons une petite fonction Python pour cela. Ensuite, nous\n", + "l'appliquons à tous les points de nos donnés. Les résultats vont\n", + "dans une nouvelle colonne 'period'." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def convert_week(year_and_week_int):\n", + " year_and_week_str = str(year_and_week_int)\n", + " year = int(year_and_week_str[:4])\n", + " week = int(year_and_week_str[4:])\n", + " w = isoweek.Week(year, week)\n", + " return pd.Period(w.day(0), 'W')\n", + "\n", + "data['period'] = [convert_week(yw) for yw in data['week']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Il restent deux petites modifications à faire.\n", + "\n", + "Premièrement, nous définissons les périodes d'observation\n", + "comme nouvel index de notre jeux de données. Ceci en fait\n", + "une suite chronologique, ce qui sera pratique par la suite.\n", + "\n", + "Deuxièmement, nous trions les points par période, dans\n", + "le sens chronologique." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "sorted_data = data.set_index('period').sort_index()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous vérifions la cohérence des données. Entre la fin d'une période et\n", + "le début de la période qui suit, la différence temporelle doit être\n", + "zéro, ou au moins très faible. Nous laissons une \"marge d'erreur\"\n", + "d'une seconde.\n", + "\n", + "Ceci s'avère tout à fait juste sauf pour deux périodes consécutives\n", + "entre lesquelles il manque une semaine.\n", + "\n", + "Nous reconnaissons ces dates: c'est la semaine sans observations\n", + "que nous avions supprimées !" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "periods = sorted_data.index\n", + "for p1, p2 in zip(periods[:-1], periods[1:]):\n", + " delta = p2.to_timestamp() - p1.end_time\n", + " if delta > pd.Timedelta('1s'):\n", + " print(p1, p2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Un premier regard sur les données !" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data['inc'].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Un zoom sur les dernières années montre mieux la situation des pics en hiver. Le creux des incidences se trouve en été." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data['inc'][-200:].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Etude de l'incidence annuelle" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Etant donné que le pic de l'épidémie se situe en hiver, à cheval\n", + "entre deux années civiles, nous définissons la période de référence\n", + "entre deux minima de l'incidence, du 1er août de l'année $N$ au\n", + "1er août de l'année $N+1$.\n", + "\n", + "Notre tâche est un peu compliquée par le fait que l'année ne comporte\n", + "pas un nombre entier de semaines. Nous modifions donc un peu nos périodes\n", + "de référence: à la place du 1er août de chaque année, nous utilisons le\n", + "premier jour de la semaine qui contient le 1er août.\n", + "\n", + "Comme l'incidence de syndrome grippal est très faible en été, cette\n", + "modification ne risque pas de fausser nos conclusions.\n", + "\n", + "Encore un petit détail: les données commencent an octobre 1984, ce qui\n", + "rend la première année incomplète. Nous commençons donc l'analyse en 1985." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "first_august_week = [pd.Period(pd.Timestamp(y, 8, 1), 'W')\n", + " for y in range(1985,\n", + " sorted_data.index[-1].year)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "En partant de cette liste des semaines qui contiennent un 1er août, nous obtenons nos intervalles d'environ un an comme les périodes entre deux semaines adjacentes dans cette liste. Nous calculons les sommes des incidences hebdomadaires pour toutes ces périodes.\n", + "\n", + "Nous vérifions également que ces périodes contiennent entre 51 et 52 semaines, pour nous protéger contre des éventuelles erreurs dans notre code." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "year = []\n", + "yearly_incidence = []\n", + "for week1, week2 in zip(first_august_week[:-1],\n", + " first_august_week[1:]):\n", + " one_year = sorted_data['inc'][week1:week2-1]\n", + " assert abs(len(one_year)-52) < 2\n", + " yearly_incidence.append(one_year.sum())\n", + " year.append(week2.year)\n", + "yearly_incidence = pd.Series(data=yearly_incidence, index=year)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voici les incidences annuelles." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "yearly_incidence.plot(style='*')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Une liste triée permet de plus facilement répérer les valeurs les plus élevées (à la fin)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "yearly_incidence.sort_values()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Enfin, un histogramme montre bien que les épidémies fortes, qui touchent environ 10% de la population\n", + " française, sont assez rares: il y en eu trois au cours des 35 dernières années." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "yearly_incidence.hist(xrot=20)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "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": 1 +} diff --git a/module3/exo2/.ipynb b/module3/exo2/.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..0e8f097ce0c74036b5fd8a9e1f35bc06f5d272b0 --- /dev/null +++ b/module3/exo2/.ipynb @@ -0,0 +1,1358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Incidence du syndrome grippal" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import isoweek" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données de l'incidence du syndrome grippal sont disponibles du site Web du [Réseau Sentinelles](http://www.sentiweb.fr/). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée. Nous téléchargeons toujours le jeu de données complet, qui commence en 1984 et se termine avec une semaine récente." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "data_url = \"https://www.sentiweb.fr/datasets/incidence-PAY-3.csv?v=8nhxe\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Pour ne pas à avoir à télécharger le fichier à chaque éxécution " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "data_file = \"syndrome-grippal.csv\"\n", + "\n", + "import os\n", + "import urllib.request\n", + "if not os.path.exists(data_file):\n", + " urllib.request.urlretrieve(data_url, data_file)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voici l'explication des colonnes données [sur le site d'origine](https://ns.sentiweb.fr/incidence/csv-schema-v1.json):\n", + "\n", + "| Nom de colonne | Libellé de colonne |\n", + "|----------------|-----------------------------------------------------------------------------------------------------------------------------------|\n", + "| week | Semaine calendaire (ISO 8601) |\n", + "| indicator | Code de l'indicateur de surveillance |\n", + "| inc | Estimation de l'incidence de consultations en nombre de cas |\n", + "| inc_low | Estimation de la borne inférieure de l'IC95% du nombre de cas de consultation |\n", + "| inc_up | Estimation de la borne supérieure de l'IC95% du nombre de cas de consultation |\n", + "| inc100 | Estimation du taux d'incidence du nombre de cas de consultation (en cas pour 100,000 habitants) |\n", + "| inc100_low | Estimation de la borne inférieure de l'IC95% du taux d'incidence du nombre de cas de consultation (en cas pour 100,000 habitants) |\n", + "| inc100_up | Estimation de la borne supérieure de l'IC95% du taux d'incidence du nombre de cas de consultation (en cas pour 100,000 habitants) |\n", + "| geo_insee | Code de la zone géographique concernée (Code INSEE) http://www.insee.fr/fr/methodes/nomenclatures/cog/ |\n", + "| geo_name | Libellé de la zone géographique (ce libellé peut être modifié sans préavis) |\n", + "\n", + "La première ligne du fichier CSV est un commentaire, que nous ignorons en précisant `skiprows=1`." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
020234639293481854.0104014.0140123.0157.0FRFrance
120234537184562813.080877.010894.0122.0FRFrance
220234434995242813.057091.07564.086.0FRFrance
320234334498238170.051794.06858.078.0FRFrance
420234235684249277.064407.08675.097.0FRFrance
520234135835751032.065682.08877.099.0FRFrance
620234036889460069.077719.010491.0117.0FRFrance
720233937200363452.080554.010895.0121.0FRFrance
820233836321855227.071209.09583.0107.0FRFrance
920233734908542079.056091.07463.085.0FRFrance
1020233633824732237.044257.05849.067.0FRFrance
1120233533169526013.037377.04839.057.0FRFrance
1220233432666321057.032269.04032.048.0FRFrance
1320233331914413161.025127.02920.038.0FRFrance
1420233231464110285.018997.02215.029.0FRFrance
1520233131528610705.019867.02316.030.0FRFrance
162023303132058647.017763.02013.027.0FRFrance
172023293111227113.015131.01711.023.0FRFrance
18202328391795703.012655.0149.019.0FRFrance
19202327389995763.012235.0149.019.0FRFrance
20202326390235934.012112.0149.019.0FRFrance
212023253100906739.013441.01510.020.0FRFrance
222023243113087639.014977.01711.023.0FRFrance
2320232331430010661.017939.02217.027.0FRFrance
2420232231830313822.022784.02821.035.0FRFrance
2520232131646012188.020732.02519.031.0FRFrance
2620232031616211963.020361.02418.030.0FRFrance
2720231931690112577.021225.02518.032.0FRFrance
2820231831992915402.024456.03023.037.0FRFrance
2920231732700721779.032235.04133.049.0FRFrance
.................................
200819852132609619621.032571.04735.059.0FRFrance
200919852032789620885.034907.05138.064.0FRFrance
201019851934315432821.053487.07859.097.0FRFrance
201119851834055529935.051175.07455.093.0FRFrance
201219851733405324366.043740.06244.080.0FRFrance
201319851635036236451.064273.09166.0116.0FRFrance
201419851536388145538.082224.011683.0149.0FRFrance
20151985143134545114400.0154690.0244207.0281.0FRFrance
20161985133197206176080.0218332.0357319.0395.0FRFrance
20171985123245240223304.0267176.0445405.0485.0FRFrance
20181985113276205252399.0300011.0501458.0544.0FRFrance
20191985103353231326279.0380183.0640591.0689.0FRFrance
20201985093369895341109.0398681.0670618.0722.0FRFrance
20211985083389886359529.0420243.0707652.0762.0FRFrance
20221985073471852432599.0511105.0855784.0926.0FRFrance
20231985063565825518011.0613639.01026939.01113.0FRFrance
20241985053637302592795.0681809.011551074.01236.0FRFrance
20251985043424937390794.0459080.0770708.0832.0FRFrance
20261985033213901174689.0253113.0388317.0459.0FRFrance
202719850239758680949.0114223.0177147.0207.0FRFrance
202819850138548965918.0105060.0155120.0190.0FRFrance
202919845238483060602.0109058.0154110.0198.0FRFrance
2030198451310172680242.0123210.0185146.0224.0FRFrance
20311984503123680101401.0145959.0225184.0266.0FRFrance
2032198449310107381684.0120462.0184149.0219.0FRFrance
203319844837862060634.096606.0143110.0176.0FRFrance
203419844737202954274.089784.013199.0163.0FRFrance
203519844638733067686.0106974.0159123.0195.0FRFrance
20361984453135223101414.0169032.0246184.0308.0FRFrance
203719844436842220056.0116788.012537.0213.0FRFrance
\n", + "

2038 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202346 3 92934 81854.0 104014.0 140 123.0 \n", + "1 202345 3 71845 62813.0 80877.0 108 94.0 \n", + "2 202344 3 49952 42813.0 57091.0 75 64.0 \n", + "3 202343 3 44982 38170.0 51794.0 68 58.0 \n", + "4 202342 3 56842 49277.0 64407.0 86 75.0 \n", + "5 202341 3 58357 51032.0 65682.0 88 77.0 \n", + "6 202340 3 68894 60069.0 77719.0 104 91.0 \n", + "7 202339 3 72003 63452.0 80554.0 108 95.0 \n", + "8 202338 3 63218 55227.0 71209.0 95 83.0 \n", + "9 202337 3 49085 42079.0 56091.0 74 63.0 \n", + "10 202336 3 38247 32237.0 44257.0 58 49.0 \n", + "11 202335 3 31695 26013.0 37377.0 48 39.0 \n", + "12 202334 3 26663 21057.0 32269.0 40 32.0 \n", + "13 202333 3 19144 13161.0 25127.0 29 20.0 \n", + "14 202332 3 14641 10285.0 18997.0 22 15.0 \n", + "15 202331 3 15286 10705.0 19867.0 23 16.0 \n", + "16 202330 3 13205 8647.0 17763.0 20 13.0 \n", + "17 202329 3 11122 7113.0 15131.0 17 11.0 \n", + "18 202328 3 9179 5703.0 12655.0 14 9.0 \n", + "19 202327 3 8999 5763.0 12235.0 14 9.0 \n", + "20 202326 3 9023 5934.0 12112.0 14 9.0 \n", + "21 202325 3 10090 6739.0 13441.0 15 10.0 \n", + "22 202324 3 11308 7639.0 14977.0 17 11.0 \n", + "23 202323 3 14300 10661.0 17939.0 22 17.0 \n", + "24 202322 3 18303 13822.0 22784.0 28 21.0 \n", + "25 202321 3 16460 12188.0 20732.0 25 19.0 \n", + "26 202320 3 16162 11963.0 20361.0 24 18.0 \n", + "27 202319 3 16901 12577.0 21225.0 25 18.0 \n", + "28 202318 3 19929 15402.0 24456.0 30 23.0 \n", + "29 202317 3 27007 21779.0 32235.0 41 33.0 \n", + "... ... ... ... ... ... ... ... \n", + "2008 198521 3 26096 19621.0 32571.0 47 35.0 \n", + "2009 198520 3 27896 20885.0 34907.0 51 38.0 \n", + "2010 198519 3 43154 32821.0 53487.0 78 59.0 \n", + "2011 198518 3 40555 29935.0 51175.0 74 55.0 \n", + "2012 198517 3 34053 24366.0 43740.0 62 44.0 \n", + "2013 198516 3 50362 36451.0 64273.0 91 66.0 \n", + "2014 198515 3 63881 45538.0 82224.0 116 83.0 \n", + "2015 198514 3 134545 114400.0 154690.0 244 207.0 \n", + "2016 198513 3 197206 176080.0 218332.0 357 319.0 \n", + "2017 198512 3 245240 223304.0 267176.0 445 405.0 \n", + "2018 198511 3 276205 252399.0 300011.0 501 458.0 \n", + "2019 198510 3 353231 326279.0 380183.0 640 591.0 \n", + "2020 198509 3 369895 341109.0 398681.0 670 618.0 \n", + "2021 198508 3 389886 359529.0 420243.0 707 652.0 \n", + "2022 198507 3 471852 432599.0 511105.0 855 784.0 \n", + "2023 198506 3 565825 518011.0 613639.0 1026 939.0 \n", + "2024 198505 3 637302 592795.0 681809.0 1155 1074.0 \n", + "2025 198504 3 424937 390794.0 459080.0 770 708.0 \n", + "2026 198503 3 213901 174689.0 253113.0 388 317.0 \n", + "2027 198502 3 97586 80949.0 114223.0 177 147.0 \n", + "2028 198501 3 85489 65918.0 105060.0 155 120.0 \n", + "2029 198452 3 84830 60602.0 109058.0 154 110.0 \n", + "2030 198451 3 101726 80242.0 123210.0 185 146.0 \n", + "2031 198450 3 123680 101401.0 145959.0 225 184.0 \n", + "2032 198449 3 101073 81684.0 120462.0 184 149.0 \n", + "2033 198448 3 78620 60634.0 96606.0 143 110.0 \n", + "2034 198447 3 72029 54274.0 89784.0 131 99.0 \n", + "2035 198446 3 87330 67686.0 106974.0 159 123.0 \n", + "2036 198445 3 135223 101414.0 169032.0 246 184.0 \n", + "2037 198444 3 68422 20056.0 116788.0 125 37.0 \n", + "\n", + " inc100_up geo_insee geo_name \n", + "0 157.0 FR France \n", + "1 122.0 FR France \n", + "2 86.0 FR France \n", + "3 78.0 FR France \n", + "4 97.0 FR France \n", + "5 99.0 FR France \n", + "6 117.0 FR France \n", + "7 121.0 FR France \n", + "8 107.0 FR France \n", + "9 85.0 FR France \n", + "10 67.0 FR France \n", + "11 57.0 FR France \n", + "12 48.0 FR France \n", + "13 38.0 FR France \n", + "14 29.0 FR France \n", + "15 30.0 FR France \n", + "16 27.0 FR France \n", + "17 23.0 FR France \n", + "18 19.0 FR France \n", + "19 19.0 FR France \n", + "20 19.0 FR France \n", + "21 20.0 FR France \n", + "22 23.0 FR France \n", + "23 27.0 FR France \n", + "24 35.0 FR France \n", + "25 31.0 FR France \n", + "26 30.0 FR France \n", + "27 32.0 FR France \n", + "28 37.0 FR France \n", + "29 49.0 FR France \n", + "... ... ... ... \n", + "2008 59.0 FR France \n", + "2009 64.0 FR France \n", + "2010 97.0 FR France \n", + "2011 93.0 FR France \n", + "2012 80.0 FR France \n", + "2013 116.0 FR France \n", + "2014 149.0 FR France \n", + "2015 281.0 FR France \n", + "2016 395.0 FR France \n", + "2017 485.0 FR France \n", + "2018 544.0 FR France \n", + "2019 689.0 FR France \n", + "2020 722.0 FR France \n", + "2021 762.0 FR France \n", + "2022 926.0 FR France \n", + "2023 1113.0 FR France \n", + "2024 1236.0 FR France \n", + "2025 832.0 FR France \n", + "2026 459.0 FR France \n", + "2027 207.0 FR France \n", + "2028 190.0 FR France \n", + "2029 198.0 FR France \n", + "2030 224.0 FR France \n", + "2031 266.0 FR France \n", + "2032 219.0 FR France \n", + "2033 176.0 FR France \n", + "2034 163.0 FR France \n", + "2035 195.0 FR France \n", + "2036 308.0 FR France \n", + "2037 213.0 FR France \n", + "\n", + "[2038 rows x 10 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data = pd.read_csv(data_file, skiprows=1)\n", + "raw_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Y a-t-il des points manquants dans ce jeux de données ? Oui, la semaine 19 de l'année 1989 n'a pas de valeurs associées." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "raw_data[raw_data.isnull().any(axis=1)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous éliminons ce point, ce qui n'a pas d'impact fort sur notre analyse qui est assez simple." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "data = raw_data.dropna().copy()\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nos données utilisent une convention inhabituelle: le numéro de\n", + "semaine est collé à l'année, donnant l'impression qu'il s'agit\n", + "de nombre entier. C'est comme ça que Pandas les interprète.\n", + " \n", + "Un deuxième problème est que Pandas ne comprend pas les numéros de\n", + "semaine. Il faut lui fournir les dates de début et de fin de\n", + "semaine. Nous utilisons pour cela la bibliothèque `isoweek`.\n", + "\n", + "Comme la conversion des semaines est devenu assez complexe, nous\n", + "écrivons une petite fonction Python pour cela. Ensuite, nous\n", + "l'appliquons à tous les points de nos donnés. Les résultats vont\n", + "dans une nouvelle colonne 'period'." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def convert_week(year_and_week_int):\n", + " year_and_week_str = str(year_and_week_int)\n", + " year = int(year_and_week_str[:4])\n", + " week = int(year_and_week_str[4:])\n", + " w = isoweek.Week(year, week)\n", + " return pd.Period(w.day(0), 'W')\n", + "\n", + "data['period'] = [convert_week(yw) for yw in data['week']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Il restent deux petites modifications à faire.\n", + "\n", + "Premièrement, nous définissons les périodes d'observation\n", + "comme nouvel index de notre jeux de données. Ceci en fait\n", + "une suite chronologique, ce qui sera pratique par la suite.\n", + "\n", + "Deuxièmement, nous trions les points par période, dans\n", + "le sens chronologique." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "sorted_data = data.set_index('period').sort_index()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous vérifions la cohérence des données. Entre la fin d'une période et\n", + "le début de la période qui suit, la différence temporelle doit être\n", + "zéro, ou au moins très faible. Nous laissons une \"marge d'erreur\"\n", + "d'une seconde.\n", + "\n", + "Ceci s'avère tout à fait juste sauf pour deux périodes consécutives\n", + "entre lesquelles il manque une semaine.\n", + "\n", + "Nous reconnaissons ces dates: c'est la semaine sans observations\n", + "que nous avions supprimées !" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "periods = sorted_data.index\n", + "for p1, p2 in zip(periods[:-1], periods[1:]):\n", + " delta = p2.to_timestamp() - p1.end_time\n", + " if delta > pd.Timedelta('1s'):\n", + " print(p1, p2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Un premier regard sur les données !" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data['inc'].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Un zoom sur les dernières années montre mieux la situation des pics en hiver. Le creux des incidences se trouve en été." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data['inc'][-200:].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Etude de l'incidence annuelle" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Etant donné que le pic de l'épidémie se situe en hiver, à cheval\n", + "entre deux années civiles, nous définissons la période de référence\n", + "entre deux minima de l'incidence, du 1er août de l'année $N$ au\n", + "1er août de l'année $N+1$.\n", + "\n", + "Notre tâche est un peu compliquée par le fait que l'année ne comporte\n", + "pas un nombre entier de semaines. Nous modifions donc un peu nos périodes\n", + "de référence: à la place du 1er août de chaque année, nous utilisons le\n", + "premier jour de la semaine qui contient le 1er août.\n", + "\n", + "Comme l'incidence de syndrome grippal est très faible en été, cette\n", + "modification ne risque pas de fausser nos conclusions.\n", + "\n", + "Encore un petit détail: les données commencent an octobre 1984, ce qui\n", + "rend la première année incomplète. Nous commençons donc l'analyse en 1985." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "first_august_week = [pd.Period(pd.Timestamp(y, 8, 1), 'W')\n", + " for y in range(1985,\n", + " sorted_data.index[-1].year)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "En partant de cette liste des semaines qui contiennent un 1er août, nous obtenons nos intervalles d'environ un an comme les périodes entre deux semaines adjacentes dans cette liste. Nous calculons les sommes des incidences hebdomadaires pour toutes ces périodes.\n", + "\n", + "Nous vérifions également que ces périodes contiennent entre 51 et 52 semaines, pour nous protéger contre des éventuelles erreurs dans notre code." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "year = []\n", + "yearly_incidence = []\n", + "for week1, week2 in zip(first_august_week[:-1],\n", + " first_august_week[1:]):\n", + " one_year = sorted_data['inc'][week1:week2-1]\n", + " assert abs(len(one_year)-52) < 2\n", + " yearly_incidence.append(one_year.sum())\n", + " year.append(week2.year)\n", + "yearly_incidence = pd.Series(data=yearly_incidence, index=year)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voici les incidences annuelles." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "yearly_incidence.plot(style='*')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Une liste triée permet de plus facilement répérer les valeurs les plus élevées (à la fin)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "yearly_incidence.sort_values()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Enfin, un histogramme montre bien que les épidémies fortes, qui touchent environ 10% de la population\n", + " française, sont assez rares: il y en eu trois au cours des 35 dernières années." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "yearly_incidence.hist(xrot=20)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "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": 1 +} diff --git a/module3/exo2/exercice.ipynb b/module3/exo2/exercice.ipynb index 0bbbe371b01e359e381e43239412d77bf53fb1fb..a3a4a3e928cffb110fc95966816ac5d60dc40f7c 100644 --- a/module3/exo2/exercice.ipynb +++ b/module3/exo2/exercice.ipynb @@ -1,5 +1,1587 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Incidence du syndrome de la varicelle" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import isoweek" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données de l'incidence du syndrome de la varicelle sont disponibles du site Web du [Réseau Sentinelles](http://www.sentiweb.fr/). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée. Nous téléchargeons toujours le jeu de données complet, qui commence en 1984 et se termine avec une semaine récente." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "data_url = \"https://www.sentiweb.fr/datasets/incidence-PAY-7.csv?v=8nhxe\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voici l'explication des colonnes données [sur le site d'origine](https://ns.sentiweb.fr/incidence/csv-schema-v1.json):" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
020234676089291892609414FRFrance
120234575090271374678412FRFrance
22023447368816645712639FRFrance
32023437389116756107639FRFrance
420234273968121267246210FRFrance
52023417335617644948537FRFrance
62023407284514104280426FRFrance
7202339717396292849315FRFrance
8202338716632743052315FRFrance
9202337711222232021213FRFrance
102023367726101442102FRFrance
112023357961961826102FRFrance
122023347116892327204FRFrance
132023337330811845432528FRFrance
142023327799611201487212222FRFrance
152023317331813985238528FRFrance
1620233075821326983739513FRFrance
17202329713558829718819201228FRFrance
18202328767004043935710614FRFrance
19202327772534599990711715FRFrance
2020232679192622312161141018FRFrance
21202325711498825714739171222FRFrance
22202324711115796814262171222FRFrance
2320232371256361341899219929FRFrance
24202322712184812516243181224FRFrance
25202321711349759815100171123FRFrance
262023207900046151338514721FRFrance
272023197934460911259714919FRFrance
28202318710671729114051161121FRFrance
292023177918461621220614919FRFrance
.................................
16891991277203091286827750362349FRFrance
16901991267176081130423912312042FRFrance
16911991257161691070021638281838FRFrance
16921991247161711007122271281739FRFrance
1693199123711947767116223211329FRFrance
1694199122715452995320951271737FRFrance
1695199121714903897520831261636FRFrance
16961991207190531274225364342345FRFrance
16971991197167391124622232291939FRFrance
16981991187213851388228888382551FRFrance
1699199117713462887718047241632FRFrance
17001991167148571006819646261834FRFrance
1701199115713975978118169251832FRFrance
1702199114712265768416846221430FRFrance
170319911379567604113093171123FRFrance
1704199112710864733114397191325FRFrance
17051991117155741118419964271935FRFrance
17061991107166431137221914292038FRFrance
1707199109713741878018702241533FRFrance
1708199108713289881317765231531FRFrance
1709199107712337807716597221529FRFrance
1710199106710877701314741191226FRFrance
1711199105710442654414340181125FRFrance
17121991047791345631126314820FRFrance
17131991037153871048420290271836FRFrance
17141991027162771104621508292038FRFrance
17151991017155651027120859271836FRFrance
17161990527193751329525455342345FRFrance
17171990517190801380724353342543FRFrance
1718199050711079666015498201228FRFrance
\n", + "

1719 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202346 7 6089 2918 9260 9 4 \n", + "1 202345 7 5090 2713 7467 8 4 \n", + "2 202344 7 3688 1664 5712 6 3 \n", + "3 202343 7 3891 1675 6107 6 3 \n", + "4 202342 7 3968 1212 6724 6 2 \n", + "5 202341 7 3356 1764 4948 5 3 \n", + "6 202340 7 2845 1410 4280 4 2 \n", + "7 202339 7 1739 629 2849 3 1 \n", + "8 202338 7 1663 274 3052 3 1 \n", + "9 202337 7 1122 223 2021 2 1 \n", + "10 202336 7 726 10 1442 1 0 \n", + "11 202335 7 961 96 1826 1 0 \n", + "12 202334 7 1168 9 2327 2 0 \n", + "13 202333 7 3308 1184 5432 5 2 \n", + "14 202332 7 7996 1120 14872 12 2 \n", + "15 202331 7 3318 1398 5238 5 2 \n", + "16 202330 7 5821 3269 8373 9 5 \n", + "17 202329 7 13558 8297 18819 20 12 \n", + "18 202328 7 6700 4043 9357 10 6 \n", + "19 202327 7 7253 4599 9907 11 7 \n", + "20 202326 7 9192 6223 12161 14 10 \n", + "21 202325 7 11498 8257 14739 17 12 \n", + "22 202324 7 11115 7968 14262 17 12 \n", + "23 202323 7 12563 6134 18992 19 9 \n", + "24 202322 7 12184 8125 16243 18 12 \n", + "25 202321 7 11349 7598 15100 17 11 \n", + "26 202320 7 9000 4615 13385 14 7 \n", + "27 202319 7 9344 6091 12597 14 9 \n", + "28 202318 7 10671 7291 14051 16 11 \n", + "29 202317 7 9184 6162 12206 14 9 \n", + "... ... ... ... ... ... ... ... \n", + "1689 199127 7 20309 12868 27750 36 23 \n", + "1690 199126 7 17608 11304 23912 31 20 \n", + "1691 199125 7 16169 10700 21638 28 18 \n", + "1692 199124 7 16171 10071 22271 28 17 \n", + "1693 199123 7 11947 7671 16223 21 13 \n", + "1694 199122 7 15452 9953 20951 27 17 \n", + "1695 199121 7 14903 8975 20831 26 16 \n", + "1696 199120 7 19053 12742 25364 34 23 \n", + "1697 199119 7 16739 11246 22232 29 19 \n", + "1698 199118 7 21385 13882 28888 38 25 \n", + "1699 199117 7 13462 8877 18047 24 16 \n", + "1700 199116 7 14857 10068 19646 26 18 \n", + "1701 199115 7 13975 9781 18169 25 18 \n", + "1702 199114 7 12265 7684 16846 22 14 \n", + "1703 199113 7 9567 6041 13093 17 11 \n", + "1704 199112 7 10864 7331 14397 19 13 \n", + "1705 199111 7 15574 11184 19964 27 19 \n", + "1706 199110 7 16643 11372 21914 29 20 \n", + "1707 199109 7 13741 8780 18702 24 15 \n", + "1708 199108 7 13289 8813 17765 23 15 \n", + "1709 199107 7 12337 8077 16597 22 15 \n", + "1710 199106 7 10877 7013 14741 19 12 \n", + "1711 199105 7 10442 6544 14340 18 11 \n", + "1712 199104 7 7913 4563 11263 14 8 \n", + "1713 199103 7 15387 10484 20290 27 18 \n", + "1714 199102 7 16277 11046 21508 29 20 \n", + "1715 199101 7 15565 10271 20859 27 18 \n", + "1716 199052 7 19375 13295 25455 34 23 \n", + "1717 199051 7 19080 13807 24353 34 25 \n", + "1718 199050 7 11079 6660 15498 20 12 \n", + "\n", + " inc100_up geo_insee geo_name \n", + "0 14 FR France \n", + "1 12 FR France \n", + "2 9 FR France \n", + "3 9 FR France \n", + "4 10 FR France \n", + "5 7 FR France \n", + "6 6 FR France \n", + "7 5 FR France \n", + "8 5 FR France \n", + "9 3 FR France \n", + "10 2 FR France \n", + "11 2 FR France \n", + "12 4 FR France \n", + "13 8 FR France \n", + "14 22 FR France \n", + "15 8 FR France \n", + "16 13 FR France \n", + "17 28 FR France \n", + "18 14 FR France \n", + "19 15 FR France \n", + "20 18 FR France \n", + "21 22 FR France \n", + "22 22 FR France \n", + "23 29 FR France \n", + "24 24 FR France \n", + "25 23 FR France \n", + "26 21 FR France \n", + "27 19 FR France \n", + "28 21 FR France \n", + "29 19 FR France \n", + "... ... ... ... \n", + "1689 49 FR France \n", + "1690 42 FR France \n", + "1691 38 FR France \n", + "1692 39 FR France \n", + "1693 29 FR France \n", + "1694 37 FR France \n", + "1695 36 FR France \n", + "1696 45 FR France \n", + "1697 39 FR France \n", + "1698 51 FR France \n", + "1699 32 FR France \n", + "1700 34 FR France \n", + "1701 32 FR France \n", + "1702 30 FR France \n", + "1703 23 FR France \n", + "1704 25 FR France \n", + "1705 35 FR France \n", + "1706 38 FR France \n", + "1707 33 FR France \n", + "1708 31 FR France \n", + "1709 29 FR France \n", + "1710 26 FR France \n", + "1711 25 FR France \n", + "1712 20 FR France \n", + "1713 36 FR France \n", + "1714 38 FR France \n", + "1715 36 FR France \n", + "1716 45 FR France \n", + "1717 43 FR France \n", + "1718 28 FR France \n", + "\n", + "[1719 rows x 10 columns]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data = pd.read_csv(data_url, skiprows=1)\n", + "raw_data.head(-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [week, indicator, inc, inc_low, inc_up, inc100, inc100_low, inc100_up, geo_insee, geo_name]\n", + "Index: []" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data[raw_data.isnull().any(axis=1)]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
020234676089291892609414FRFrance
120234575090271374678412FRFrance
22023447368816645712639FRFrance
32023437389116756107639FRFrance
420234273968121267246210FRFrance
\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low inc100_up \\\n", + "0 202346 7 6089 2918 9260 9 4 14 \n", + "1 202345 7 5090 2713 7467 8 4 12 \n", + "2 202344 7 3688 1664 5712 6 3 9 \n", + "3 202343 7 3891 1675 6107 6 3 9 \n", + "4 202342 7 3968 1212 6724 6 2 10 \n", + "\n", + " geo_insee geo_name \n", + "0 FR France \n", + "1 FR France \n", + "2 FR France \n", + "3 FR France \n", + "4 FR France " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = raw_data.dropna().copy()\n", + "data.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nos données utilisent une convention inhabituelle: le numéro de\n", + "semaine est collé à l'année, donnant l'impression qu'il s'agit\n", + "de nombre entier. C'est comme ça que Pandas les interprète.\n", + " \n", + "Un deuxième problème est que Pandas ne comprend pas les numéros de\n", + "semaine. Il faut lui fournir les dates de début et de fin de\n", + "semaine. Nous utilisons pour cela la bibliothèque `isoweek`.\n", + "\n", + "Comme la conversion des semaines est devenu assez complexe, nous\n", + "écrivons une petite fonction Python pour cela. Ensuite, nous\n", + "l'appliquons à tous les points de nos donnés. Les résultats vont\n", + "dans une nouvelle colonne 'period'." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "def convert_week(year_and_week_int):\n", + " year_and_week_str = str(year_and_week_int)\n", + " year = int(year_and_week_str[:4])\n", + " week = int(year_and_week_str[4:])\n", + " w = isoweek.Week(year, week)\n", + " return pd.Period(w.day(0), 'W')\n", + "\n", + "data['period'] = [convert_week(yw) for yw in data['week']]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
period
1990-12-03/1990-12-091990497114302610205FRFrance
1990-12-10/1990-12-16199050711079666015498201228FRFrance
1990-12-17/1990-12-231990517190801380724353342543FRFrance
1990-12-24/1990-12-301990527193751329525455342345FRFrance
1990-12-31/1991-01-061991017155651027120859271836FRFrance
\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 \\\n", + "period \n", + "1990-12-03/1990-12-09 199049 7 1143 0 2610 2 \n", + "1990-12-10/1990-12-16 199050 7 11079 6660 15498 20 \n", + "1990-12-17/1990-12-23 199051 7 19080 13807 24353 34 \n", + "1990-12-24/1990-12-30 199052 7 19375 13295 25455 34 \n", + "1990-12-31/1991-01-06 199101 7 15565 10271 20859 27 \n", + "\n", + " inc100_low inc100_up geo_insee geo_name \n", + "period \n", + "1990-12-03/1990-12-09 0 5 FR France \n", + "1990-12-10/1990-12-16 12 28 FR France \n", + "1990-12-17/1990-12-23 25 43 FR France \n", + "1990-12-24/1990-12-30 23 45 FR France \n", + "1990-12-31/1991-01-06 18 36 FR France " + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted_data = data.set_index('period').sort_index()\n", + "sorted_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "periods = sorted_data.index\n", + "for p1, p2 in zip(periods[:-1], periods[1:]):\n", + " delta = p2.to_timestamp() - p1.end_time\n", + " if delta > pd.Timedelta('1s'):\n", + " print(p1, p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sorted_data['inc'].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sorted_data['inc'][-200:].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "first_september_week = [pd.Period(pd.Timestamp(y, 9, 1), 'W')\n", + " for y in range(1990,\n", + " sorted_data.index[-1].year)]" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "year = []\n", + "yearly_incidence = []\n", + "for week1, week2 in zip(first_september_week[:-1],\n", + " first_september_week[1:]):\n", + " one_year = sorted_data['inc'][week1:week2-1]\n", + " #assert abs(len(one_year)-52) < 1\n", + " yearly_incidence.append(one_year.sum())\n", + " year.append(week2.year)\n", + "yearly_incidence = pd.Series(data=yearly_incidence, index=year)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "yearly_incidence.plot(style='*')\n", + "plt.grid()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2020 221186\n", + "2021 376290\n", + "2002 516689\n", + "2018 542312\n", + "2017 551041\n", + "1991 553090\n", + "1996 564901\n", + "2019 584066\n", + "2015 604382\n", + "2000 617597\n", + "2001 619041\n", + "2012 624573\n", + "2005 628464\n", + "2006 632833\n", + "2022 641397\n", + "2011 642368\n", + "1993 643387\n", + "1995 652478\n", + "1994 661409\n", + "1998 677775\n", + "1997 683434\n", + "2014 685769\n", + "2013 698332\n", + "2007 717352\n", + "2008 749478\n", + "1999 756456\n", + "2003 758363\n", + "2004 777388\n", + "2016 782114\n", + "2010 829911\n", + "1992 832939\n", + "2009 842373\n", + "dtype: int64" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "yearly_incidence.sort_values()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +1598,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } -