{ "cells": [ { "cell_type": "code", "execution_count": 1, "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 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": 2, "metadata": {}, "outputs": [], "source": [ "data_url = \"https://www.sentiweb.fr/datasets/incidence-PAY-7.csv\"" ] }, { "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": "markdown", "metadata": {}, "source": [ "Essaye d'importer les données depuis un fichier local afin de péréniser les données en cas de problème avec la source.\n", "Si le fichier local n'existe pas, importe les données depuis le site internet original." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "imported local data\n", " Unnamed: 0 week indicator inc inc_low inc_up inc100 \\\n", "0 0 202113 7 9838 6381 13295 15 \n", "1 1 202112 7 11520 8415 14625 17 \n", "2 2 202111 7 9386 6678 12094 14 \n", "3 3 202110 7 9056 6452 11660 14 \n", "4 4 202109 7 10988 7938 14038 17 \n", "5 5 202108 7 11281 8361 14201 17 \n", "6 6 202107 7 13561 10315 16807 21 \n", "7 7 202106 7 13401 9810 16992 20 \n", "8 8 202105 7 12210 8988 15432 18 \n", "9 9 202104 7 12026 8826 15226 18 \n", "10 10 202103 7 8913 6375 11451 13 \n", "11 11 202102 7 7795 5430 10160 12 \n", "12 12 202101 7 10525 7750 13300 16 \n", "13 13 202053 7 11978 8406 15550 18 \n", "14 14 202052 7 12012 8285 15739 18 \n", "15 15 202051 7 10564 7574 13554 16 \n", "16 16 202050 7 7063 4744 9382 11 \n", "17 17 202049 7 5026 3145 6907 8 \n", "18 18 202048 7 6683 4312 9054 10 \n", "19 19 202047 7 4999 2963 7035 8 \n", "20 20 202046 7 3752 1963 5541 6 \n", "21 21 202045 7 3696 2016 5376 6 \n", "22 22 202044 7 4391 2375 6407 7 \n", "23 23 202043 7 4376 2505 6247 7 \n", "24 24 202042 7 4000 1979 6021 6 \n", "25 25 202041 7 3961 2099 5823 6 \n", "26 26 202040 7 2078 675 3481 3 \n", "27 27 202039 7 1049 237 1861 2 \n", "28 28 202038 7 2251 781 3721 3 \n", "29 29 202037 7 1584 405 2763 2 \n", "... ... ... ... ... ... ... ... \n", "1553 1553 199126 7 17608 11304 23912 31 \n", "1554 1554 199125 7 16169 10700 21638 28 \n", "1555 1555 199124 7 16171 10071 22271 28 \n", "1556 1556 199123 7 11947 7671 16223 21 \n", "1557 1557 199122 7 15452 9953 20951 27 \n", "1558 1558 199121 7 14903 8975 20831 26 \n", "1559 1559 199120 7 19053 12742 25364 34 \n", "1560 1560 199119 7 16739 11246 22232 29 \n", "1561 1561 199118 7 21385 13882 28888 38 \n", "1562 1562 199117 7 13462 8877 18047 24 \n", "1563 1563 199116 7 14857 10068 19646 26 \n", "1564 1564 199115 7 13975 9781 18169 25 \n", "1565 1565 199114 7 12265 7684 16846 22 \n", "1566 1566 199113 7 9567 6041 13093 17 \n", "1567 1567 199112 7 10864 7331 14397 19 \n", "1568 1568 199111 7 15574 11184 19964 27 \n", "1569 1569 199110 7 16643 11372 21914 29 \n", "1570 1570 199109 7 13741 8780 18702 24 \n", "1571 1571 199108 7 13289 8813 17765 23 \n", "1572 1572 199107 7 12337 8077 16597 22 \n", "1573 1573 199106 7 10877 7013 14741 19 \n", "1574 1574 199105 7 10442 6544 14340 18 \n", "1575 1575 199104 7 7913 4563 11263 14 \n", "1576 1576 199103 7 15387 10484 20290 27 \n", "1577 1577 199102 7 16277 11046 21508 29 \n", "1578 1578 199101 7 15565 10271 20859 27 \n", "1579 1579 199052 7 19375 13295 25455 34 \n", "1580 1580 199051 7 19080 13807 24353 34 \n", "1581 1581 199050 7 11079 6660 15498 20 \n", "1582 1582 199049 7 1143 0 2610 2 \n", "\n", " inc100_low inc100_up geo_insee geo_name \n", "0 10 20 FR France \n", "1 12 22 FR France \n", "2 10 18 FR France \n", "3 10 18 FR France \n", "4 12 22 FR France \n", "5 13 21 FR France \n", "6 16 26 FR France \n", "7 15 25 FR France \n", "8 13 23 FR France \n", "9 13 23 FR France \n", "10 9 17 FR France \n", "11 8 16 FR France \n", "12 12 20 FR France \n", "13 13 23 FR France \n", "14 12 24 FR France \n", "15 11 21 FR France \n", "16 7 15 FR France \n", "17 5 11 FR France \n", "18 6 14 FR France \n", "19 5 11 FR France \n", "20 3 9 FR France \n", "21 3 9 FR France \n", "22 4 10 FR France \n", "23 4 10 FR France \n", "24 3 9 FR France \n", "25 3 9 FR France \n", "26 1 5 FR France \n", "27 1 3 FR France \n", "28 1 5 FR France \n", "29 0 4 FR France \n", "... ... ... ... ... \n", "1553 20 42 FR France \n", "1554 18 38 FR France \n", "1555 17 39 FR France \n", "1556 13 29 FR France \n", "1557 17 37 FR France \n", "1558 16 36 FR France \n", "1559 23 45 FR France \n", "1560 19 39 FR France \n", "1561 25 51 FR France \n", "1562 16 32 FR France \n", "1563 18 34 FR France \n", "1564 18 32 FR France \n", "1565 14 30 FR France \n", "1566 11 23 FR France \n", "1567 13 25 FR France \n", "1568 19 35 FR France \n", "1569 20 38 FR France \n", "1570 15 33 FR France \n", "1571 15 31 FR France \n", "1572 15 29 FR France \n", "1573 12 26 FR France \n", "1574 11 25 FR France \n", "1575 8 20 FR France \n", "1576 18 36 FR France \n", "1577 20 38 FR France \n", "1578 18 36 FR France \n", "1579 23 45 FR France \n", "1580 25 43 FR France \n", "1581 12 28 FR France \n", "1582 0 5 FR France \n", "\n", "[1583 rows x 11 columns]\n" ] } ], "source": [ "try:\n", " raw_data = pd.read_csv('incidence-PAY-7.csv')\n", " print(\"imported local data\")\n", "except FileNotFoundError:\n", " print(\"import data from the internet and save it to a local file\")\n", " raw_data = pd.read_csv(data_url, skiprows=1)\n", " raw_data.to_csv('incidence-PAY-7.csv')\n", " \n", "print(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": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [Unnamed: 0, week, indicator, inc, inc_low, inc_up, inc100, inc100_low, inc100_up, geo_insee, geo_name]\n", "Index: []" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data[raw_data.isnull().any(axis=1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Il n'y a pas de point à éliminer." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
0020211379838638113295151020FRFrance
11202112711520841514625171222FRFrance
2220211179386667812094141018FRFrance
3320211079056645211660141018FRFrance
44202109710988793814038171222FRFrance
55202108711281836114201171321FRFrance
662021077135611031516807211626FRFrance
77202106713401981016992201525FRFrance
88202105712210898815432181323FRFrance
99202104712026882615226181323FRFrance
10102021037891363751145113917FRFrance
11112021027779554301016012816FRFrance
1212202101710525775013300161220FRFrance
1313202053711978840615550181323FRFrance
1414202052712012828515739181224FRFrance
1515202051710564757413554161121FRFrance
1616202050770634744938211715FRFrance
171720204975026314569078511FRFrance
1818202048766834312905410614FRFrance
191920204774999296370358511FRFrance
20202020467375219635541639FRFrance
21212020457369620165376639FRFrance
222220204474391237564077410FRFrance
232320204374376250562477410FRFrance
24242020427400019796021639FRFrance
25252020417396120995823639FRFrance
2626202040720786753481315FRFrance
2727202039710492371861213FRFrance
2828202038722517813721315FRFrance
2929202037715844052763204FRFrance
....................................
155315531991267176081130423912312042FRFrance
155415541991257161691070021638281838FRFrance
155515551991247161711007122271281739FRFrance
15561556199123711947767116223211329FRFrance
15571557199122715452995320951271737FRFrance
15581558199121714903897520831261636FRFrance
155915591991207190531274225364342345FRFrance
156015601991197167391124622232291939FRFrance
156115611991187213851388228888382551FRFrance
15621562199117713462887718047241632FRFrance
156315631991167148571006819646261834FRFrance
15641564199115713975978118169251832FRFrance
15651565199114712265768416846221430FRFrance
1566156619911379567604113093171123FRFrance
15671567199112710864733114397191325FRFrance
156815681991117155741118419964271935FRFrance
156915691991107166431137221914292038FRFrance
15701570199109713741878018702241533FRFrance
15711571199108713289881317765231531FRFrance
15721572199107712337807716597221529FRFrance
15731573199106710877701314741191226FRFrance
15741574199105710442654414340181125FRFrance
157515751991047791345631126314820FRFrance
157615761991037153871048420290271836FRFrance
157715771991027162771104621508292038FRFrance
157815781991017155651027120859271836FRFrance
157915791990527193751329525455342345FRFrance
158015801990517190801380724353342543FRFrance
15811581199050711079666015498201228FRFrance
158215821990497114302610205FRFrance
\n", "

1583 rows × 11 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 week indicator inc inc_low inc_up inc100 \\\n", "0 0 202113 7 9838 6381 13295 15 \n", "1 1 202112 7 11520 8415 14625 17 \n", "2 2 202111 7 9386 6678 12094 14 \n", "3 3 202110 7 9056 6452 11660 14 \n", "4 4 202109 7 10988 7938 14038 17 \n", "5 5 202108 7 11281 8361 14201 17 \n", "6 6 202107 7 13561 10315 16807 21 \n", "7 7 202106 7 13401 9810 16992 20 \n", "8 8 202105 7 12210 8988 15432 18 \n", "9 9 202104 7 12026 8826 15226 18 \n", "10 10 202103 7 8913 6375 11451 13 \n", "11 11 202102 7 7795 5430 10160 12 \n", "12 12 202101 7 10525 7750 13300 16 \n", "13 13 202053 7 11978 8406 15550 18 \n", "14 14 202052 7 12012 8285 15739 18 \n", "15 15 202051 7 10564 7574 13554 16 \n", "16 16 202050 7 7063 4744 9382 11 \n", "17 17 202049 7 5026 3145 6907 8 \n", "18 18 202048 7 6683 4312 9054 10 \n", "19 19 202047 7 4999 2963 7035 8 \n", "20 20 202046 7 3752 1963 5541 6 \n", "21 21 202045 7 3696 2016 5376 6 \n", "22 22 202044 7 4391 2375 6407 7 \n", "23 23 202043 7 4376 2505 6247 7 \n", "24 24 202042 7 4000 1979 6021 6 \n", "25 25 202041 7 3961 2099 5823 6 \n", "26 26 202040 7 2078 675 3481 3 \n", "27 27 202039 7 1049 237 1861 2 \n", "28 28 202038 7 2251 781 3721 3 \n", "29 29 202037 7 1584 405 2763 2 \n", "... ... ... ... ... ... ... ... \n", "1553 1553 199126 7 17608 11304 23912 31 \n", "1554 1554 199125 7 16169 10700 21638 28 \n", "1555 1555 199124 7 16171 10071 22271 28 \n", "1556 1556 199123 7 11947 7671 16223 21 \n", "1557 1557 199122 7 15452 9953 20951 27 \n", "1558 1558 199121 7 14903 8975 20831 26 \n", "1559 1559 199120 7 19053 12742 25364 34 \n", "1560 1560 199119 7 16739 11246 22232 29 \n", "1561 1561 199118 7 21385 13882 28888 38 \n", "1562 1562 199117 7 13462 8877 18047 24 \n", "1563 1563 199116 7 14857 10068 19646 26 \n", "1564 1564 199115 7 13975 9781 18169 25 \n", "1565 1565 199114 7 12265 7684 16846 22 \n", "1566 1566 199113 7 9567 6041 13093 17 \n", "1567 1567 199112 7 10864 7331 14397 19 \n", "1568 1568 199111 7 15574 11184 19964 27 \n", "1569 1569 199110 7 16643 11372 21914 29 \n", "1570 1570 199109 7 13741 8780 18702 24 \n", "1571 1571 199108 7 13289 8813 17765 23 \n", "1572 1572 199107 7 12337 8077 16597 22 \n", "1573 1573 199106 7 10877 7013 14741 19 \n", "1574 1574 199105 7 10442 6544 14340 18 \n", "1575 1575 199104 7 7913 4563 11263 14 \n", "1576 1576 199103 7 15387 10484 20290 27 \n", "1577 1577 199102 7 16277 11046 21508 29 \n", "1578 1578 199101 7 15565 10271 20859 27 \n", "1579 1579 199052 7 19375 13295 25455 34 \n", "1580 1580 199051 7 19080 13807 24353 34 \n", "1581 1581 199050 7 11079 6660 15498 20 \n", "1582 1582 199049 7 1143 0 2610 2 \n", "\n", " inc100_low inc100_up geo_insee geo_name \n", "0 10 20 FR France \n", "1 12 22 FR France \n", "2 10 18 FR France \n", "3 10 18 FR France \n", "4 12 22 FR France \n", "5 13 21 FR France \n", "6 16 26 FR France \n", "7 15 25 FR France \n", "8 13 23 FR France \n", "9 13 23 FR France \n", "10 9 17 FR France \n", "11 8 16 FR France \n", "12 12 20 FR France \n", "13 13 23 FR France \n", "14 12 24 FR France \n", "15 11 21 FR France \n", "16 7 15 FR France \n", "17 5 11 FR France \n", "18 6 14 FR France \n", "19 5 11 FR France \n", "20 3 9 FR France \n", "21 3 9 FR France \n", "22 4 10 FR France \n", "23 4 10 FR France \n", "24 3 9 FR France \n", "25 3 9 FR France \n", "26 1 5 FR France \n", "27 1 3 FR France \n", "28 1 5 FR France \n", "29 0 4 FR France \n", "... ... ... ... ... \n", "1553 20 42 FR France \n", "1554 18 38 FR France \n", "1555 17 39 FR France \n", "1556 13 29 FR France \n", "1557 17 37 FR France \n", "1558 16 36 FR France \n", "1559 23 45 FR France \n", "1560 19 39 FR France \n", "1561 25 51 FR France \n", "1562 16 32 FR France \n", "1563 18 34 FR France \n", "1564 18 32 FR France \n", "1565 14 30 FR France \n", "1566 11 23 FR France \n", "1567 13 25 FR France \n", "1568 19 35 FR France \n", "1569 20 38 FR France \n", "1570 15 33 FR France \n", "1571 15 31 FR France \n", "1572 15 29 FR France \n", "1573 12 26 FR France \n", "1574 11 25 FR France \n", "1575 8 20 FR France \n", "1576 18 36 FR France \n", "1577 20 38 FR France \n", "1578 18 36 FR France \n", "1579 23 45 FR France \n", "1580 25 43 FR France \n", "1581 12 28 FR France \n", "1582 0 5 FR France \n", "\n", "[1583 rows x 11 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "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": 6, "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": 7, "metadata": {}, "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" ] }, { "cell_type": "code", "execution_count": 8, "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": [ "Rien n'est retourné car il n'y a pas de discontinuité dans les donées." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Un premier regard sur les données !" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "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": "markdown", "metadata": {}, "source": [ "## Etude de l'incidence annuelle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous définissons la période de référence du 1er septembre de l'année $N$ au\n", "1er septembre de l'année $N+1$ pour obtenir les résultats demandés dans cette exercice.\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", "Dans l'éventualité ou la première année serais incomplète, nous commençons l'analyse un an après la première. Une analyse plus rigoureuse serais nécessaire en temps normal pour évaluer les durées de chaque donnée.\n", "\n", "De plus, l'année en cour est retirée car incomplète." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "first_september_week = [pd.Period(pd.Timestamp(y, 9, 1), 'W')\n", " for y in range(sorted_data.index[0].year+1,\n", " sorted_data.index[-1].year-1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En partant de cette liste des semaines qui contiennent un 1er septembre, 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": 11, "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) < 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": 12, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "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": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2002 516689\n", "2018 542312\n", "2017 551041\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", "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": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "yearly_incidence.sort_values()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Année avec l'épidémie la plus forte 2009 pour un nombre de contamination de 842373\n" ] } ], "source": [ "maximum = yearly_incidence.max()\n", "list_max = yearly_incidence[yearly_incidence == yearly_incidence.max()]\n", "first_max = list_max.index[0]\n", "print(\"Année avec l'épidémie la plus forte %s pour un nombre de contamination de %s\" % (first_max, maximum))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Année avec l'épidémie la plus faible = 2002 pour un nombre de contamination de 516689\n" ] } ], "source": [ "minimum = yearly_incidence.min()\n", "list_min = yearly_incidence[yearly_incidence == yearly_incidence.min()]\n", "first_min = list_min.index[0] \n", "print(\"Année avec l'épidémie la plus faible = %s pour un nombre de contamination de %s\" % (first_min, minimum))" ] }, { "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 }