diff --git a/module3/exo2/exercice.ipynb b/module3/exo2/exercice.ipynb
index 0bbbe371b01e359e381e43239412d77bf53fb1fb..98a780034c75a7045e8a628074343b2214419bdc 100644
--- a/module3/exo2/exercice.ipynb
+++ b/module3/exo2/exercice.ipynb
@@ -1,5 +1,1381 @@
{
- "cells": [],
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Analyse de l'incidence de la varicelle"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import isoweek\n",
+ "import pandas as pd"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Les données sont téléchargées en local, on peut donc les lire grâce à la bibliothèque pandas"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " week | \n",
+ " indicator | \n",
+ " inc | \n",
+ " inc_low | \n",
+ " inc_up | \n",
+ " inc100 | \n",
+ " inc100_low | \n",
+ " inc100_up | \n",
+ " geo_insee | \n",
+ " geo_name | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 202443 | \n",
+ " 7 | \n",
+ " 2701 | \n",
+ " 725 | \n",
+ " 4677 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 202442 | \n",
+ " 7 | \n",
+ " 2659 | \n",
+ " 1260 | \n",
+ " 4058 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 202441 | \n",
+ " 7 | \n",
+ " 2035 | \n",
+ " 381 | \n",
+ " 3689 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 202440 | \n",
+ " 7 | \n",
+ " 2125 | \n",
+ " 725 | \n",
+ " 3525 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 202439 | \n",
+ " 7 | \n",
+ " 2898 | \n",
+ " 1333 | \n",
+ " 4463 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 202438 | \n",
+ " 7 | \n",
+ " 751 | \n",
+ " 0 | \n",
+ " 1513 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 202437 | \n",
+ " 7 | \n",
+ " 916 | \n",
+ " 28 | \n",
+ " 1804 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 202436 | \n",
+ " 7 | \n",
+ " 2235 | \n",
+ " 870 | \n",
+ " 3600 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 202435 | \n",
+ " 7 | \n",
+ " 1620 | \n",
+ " 285 | \n",
+ " 2955 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 202434 | \n",
+ " 7 | \n",
+ " 2560 | \n",
+ " 622 | \n",
+ " 4498 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 202433 | \n",
+ " 7 | \n",
+ " 1971 | \n",
+ " 536 | \n",
+ " 3406 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 202432 | \n",
+ " 7 | \n",
+ " 4399 | \n",
+ " 1944 | \n",
+ " 6854 | \n",
+ " 7 | \n",
+ " 3 | \n",
+ " 11 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 202431 | \n",
+ " 7 | \n",
+ " 4500 | \n",
+ " 2213 | \n",
+ " 6787 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 10 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " 202430 | \n",
+ " 7 | \n",
+ " 7004 | \n",
+ " 4278 | \n",
+ " 9730 | \n",
+ " 11 | \n",
+ " 7 | \n",
+ " 15 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 14 | \n",
+ " 202429 | \n",
+ " 7 | \n",
+ " 9270 | \n",
+ " 6303 | \n",
+ " 12237 | \n",
+ " 14 | \n",
+ " 10 | \n",
+ " 18 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 15 | \n",
+ " 202428 | \n",
+ " 7 | \n",
+ " 9364 | \n",
+ " 6498 | \n",
+ " 12230 | \n",
+ " 14 | \n",
+ " 10 | \n",
+ " 18 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 202427 | \n",
+ " 7 | \n",
+ " 10247 | \n",
+ " 7090 | \n",
+ " 13404 | \n",
+ " 15 | \n",
+ " 10 | \n",
+ " 20 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 17 | \n",
+ " 202426 | \n",
+ " 7 | \n",
+ " 14368 | \n",
+ " 10399 | \n",
+ " 18337 | \n",
+ " 22 | \n",
+ " 16 | \n",
+ " 28 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 18 | \n",
+ " 202425 | \n",
+ " 7 | \n",
+ " 11174 | \n",
+ " 8039 | \n",
+ " 14309 | \n",
+ " 17 | \n",
+ " 12 | \n",
+ " 22 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 19 | \n",
+ " 202424 | \n",
+ " 7 | \n",
+ " 12621 | \n",
+ " 9357 | \n",
+ " 15885 | \n",
+ " 19 | \n",
+ " 14 | \n",
+ " 24 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 20 | \n",
+ " 202423 | \n",
+ " 7 | \n",
+ " 14657 | \n",
+ " 11339 | \n",
+ " 17975 | \n",
+ " 22 | \n",
+ " 17 | \n",
+ " 27 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 21 | \n",
+ " 202422 | \n",
+ " 7 | \n",
+ " 11628 | \n",
+ " 8361 | \n",
+ " 14895 | \n",
+ " 17 | \n",
+ " 12 | \n",
+ " 22 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 22 | \n",
+ " 202421 | \n",
+ " 7 | \n",
+ " 9701 | \n",
+ " 6851 | \n",
+ " 12551 | \n",
+ " 15 | \n",
+ " 11 | \n",
+ " 19 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 23 | \n",
+ " 202420 | \n",
+ " 7 | \n",
+ " 13661 | \n",
+ " 10209 | \n",
+ " 17113 | \n",
+ " 20 | \n",
+ " 15 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 24 | \n",
+ " 202419 | \n",
+ " 7 | \n",
+ " 10083 | \n",
+ " 6413 | \n",
+ " 13753 | \n",
+ " 15 | \n",
+ " 9 | \n",
+ " 21 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 25 | \n",
+ " 202418 | \n",
+ " 7 | \n",
+ " 13438 | \n",
+ " 9514 | \n",
+ " 17362 | \n",
+ " 20 | \n",
+ " 14 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 26 | \n",
+ " 202417 | \n",
+ " 7 | \n",
+ " 15303 | \n",
+ " 11219 | \n",
+ " 19387 | \n",
+ " 23 | \n",
+ " 17 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 27 | \n",
+ " 202416 | \n",
+ " 7 | \n",
+ " 18138 | \n",
+ " 13540 | \n",
+ " 22736 | \n",
+ " 27 | \n",
+ " 20 | \n",
+ " 34 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 28 | \n",
+ " 202415 | \n",
+ " 7 | \n",
+ " 24929 | \n",
+ " 17315 | \n",
+ " 32543 | \n",
+ " 37 | \n",
+ " 26 | \n",
+ " 48 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 29 | \n",
+ " 202414 | \n",
+ " 7 | \n",
+ " 16181 | \n",
+ " 12544 | \n",
+ " 19818 | \n",
+ " 24 | \n",
+ " 19 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 1739 | \n",
+ " 199126 | \n",
+ " 7 | \n",
+ " 17608 | \n",
+ " 11304 | \n",
+ " 23912 | \n",
+ " 31 | \n",
+ " 20 | \n",
+ " 42 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1740 | \n",
+ " 199125 | \n",
+ " 7 | \n",
+ " 16169 | \n",
+ " 10700 | \n",
+ " 21638 | \n",
+ " 28 | \n",
+ " 18 | \n",
+ " 38 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1741 | \n",
+ " 199124 | \n",
+ " 7 | \n",
+ " 16171 | \n",
+ " 10071 | \n",
+ " 22271 | \n",
+ " 28 | \n",
+ " 17 | \n",
+ " 39 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1742 | \n",
+ " 199123 | \n",
+ " 7 | \n",
+ " 11947 | \n",
+ " 7671 | \n",
+ " 16223 | \n",
+ " 21 | \n",
+ " 13 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1743 | \n",
+ " 199122 | \n",
+ " 7 | \n",
+ " 15452 | \n",
+ " 9953 | \n",
+ " 20951 | \n",
+ " 27 | \n",
+ " 17 | \n",
+ " 37 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1744 | \n",
+ " 199121 | \n",
+ " 7 | \n",
+ " 14903 | \n",
+ " 8975 | \n",
+ " 20831 | \n",
+ " 26 | \n",
+ " 16 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1745 | \n",
+ " 199120 | \n",
+ " 7 | \n",
+ " 19053 | \n",
+ " 12742 | \n",
+ " 25364 | \n",
+ " 34 | \n",
+ " 23 | \n",
+ " 45 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1746 | \n",
+ " 199119 | \n",
+ " 7 | \n",
+ " 16739 | \n",
+ " 11246 | \n",
+ " 22232 | \n",
+ " 29 | \n",
+ " 19 | \n",
+ " 39 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1747 | \n",
+ " 199118 | \n",
+ " 7 | \n",
+ " 21385 | \n",
+ " 13882 | \n",
+ " 28888 | \n",
+ " 38 | \n",
+ " 25 | \n",
+ " 51 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1748 | \n",
+ " 199117 | \n",
+ " 7 | \n",
+ " 13462 | \n",
+ " 8877 | \n",
+ " 18047 | \n",
+ " 24 | \n",
+ " 16 | \n",
+ " 32 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1749 | \n",
+ " 199116 | \n",
+ " 7 | \n",
+ " 14857 | \n",
+ " 10068 | \n",
+ " 19646 | \n",
+ " 26 | \n",
+ " 18 | \n",
+ " 34 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1750 | \n",
+ " 199115 | \n",
+ " 7 | \n",
+ " 13975 | \n",
+ " 9781 | \n",
+ " 18169 | \n",
+ " 25 | \n",
+ " 18 | \n",
+ " 32 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1751 | \n",
+ " 199114 | \n",
+ " 7 | \n",
+ " 12265 | \n",
+ " 7684 | \n",
+ " 16846 | \n",
+ " 22 | \n",
+ " 14 | \n",
+ " 30 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1752 | \n",
+ " 199113 | \n",
+ " 7 | \n",
+ " 9567 | \n",
+ " 6041 | \n",
+ " 13093 | \n",
+ " 17 | \n",
+ " 11 | \n",
+ " 23 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1753 | \n",
+ " 199112 | \n",
+ " 7 | \n",
+ " 10864 | \n",
+ " 7331 | \n",
+ " 14397 | \n",
+ " 19 | \n",
+ " 13 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1754 | \n",
+ " 199111 | \n",
+ " 7 | \n",
+ " 15574 | \n",
+ " 11184 | \n",
+ " 19964 | \n",
+ " 27 | \n",
+ " 19 | \n",
+ " 35 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1755 | \n",
+ " 199110 | \n",
+ " 7 | \n",
+ " 16643 | \n",
+ " 11372 | \n",
+ " 21914 | \n",
+ " 29 | \n",
+ " 20 | \n",
+ " 38 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1756 | \n",
+ " 199109 | \n",
+ " 7 | \n",
+ " 13741 | \n",
+ " 8780 | \n",
+ " 18702 | \n",
+ " 24 | \n",
+ " 15 | \n",
+ " 33 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1757 | \n",
+ " 199108 | \n",
+ " 7 | \n",
+ " 13289 | \n",
+ " 8813 | \n",
+ " 17765 | \n",
+ " 23 | \n",
+ " 15 | \n",
+ " 31 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1758 | \n",
+ " 199107 | \n",
+ " 7 | \n",
+ " 12337 | \n",
+ " 8077 | \n",
+ " 16597 | \n",
+ " 22 | \n",
+ " 15 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1759 | \n",
+ " 199106 | \n",
+ " 7 | \n",
+ " 10877 | \n",
+ " 7013 | \n",
+ " 14741 | \n",
+ " 19 | \n",
+ " 12 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1760 | \n",
+ " 199105 | \n",
+ " 7 | \n",
+ " 10442 | \n",
+ " 6544 | \n",
+ " 14340 | \n",
+ " 18 | \n",
+ " 11 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1761 | \n",
+ " 199104 | \n",
+ " 7 | \n",
+ " 7913 | \n",
+ " 4563 | \n",
+ " 11263 | \n",
+ " 14 | \n",
+ " 8 | \n",
+ " 20 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1762 | \n",
+ " 199103 | \n",
+ " 7 | \n",
+ " 15387 | \n",
+ " 10484 | \n",
+ " 20290 | \n",
+ " 27 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1763 | \n",
+ " 199102 | \n",
+ " 7 | \n",
+ " 16277 | \n",
+ " 11046 | \n",
+ " 21508 | \n",
+ " 29 | \n",
+ " 20 | \n",
+ " 38 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1764 | \n",
+ " 199101 | \n",
+ " 7 | \n",
+ " 15565 | \n",
+ " 10271 | \n",
+ " 20859 | \n",
+ " 27 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1765 | \n",
+ " 199052 | \n",
+ " 7 | \n",
+ " 19375 | \n",
+ " 13295 | \n",
+ " 25455 | \n",
+ " 34 | \n",
+ " 23 | \n",
+ " 45 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1766 | \n",
+ " 199051 | \n",
+ " 7 | \n",
+ " 19080 | \n",
+ " 13807 | \n",
+ " 24353 | \n",
+ " 34 | \n",
+ " 25 | \n",
+ " 43 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1767 | \n",
+ " 199050 | \n",
+ " 7 | \n",
+ " 11079 | \n",
+ " 6660 | \n",
+ " 15498 | \n",
+ " 20 | \n",
+ " 12 | \n",
+ " 28 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1768 | \n",
+ " 199049 | \n",
+ " 7 | \n",
+ " 1143 | \n",
+ " 0 | \n",
+ " 2610 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1769 rows × 10 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " week indicator inc inc_low inc_up inc100 inc100_low \\\n",
+ "0 202443 7 2701 725 4677 4 1 \n",
+ "1 202442 7 2659 1260 4058 4 2 \n",
+ "2 202441 7 2035 381 3689 3 1 \n",
+ "3 202440 7 2125 725 3525 3 1 \n",
+ "4 202439 7 2898 1333 4463 4 2 \n",
+ "5 202438 7 751 0 1513 1 0 \n",
+ "6 202437 7 916 28 1804 1 0 \n",
+ "7 202436 7 2235 870 3600 3 1 \n",
+ "8 202435 7 1620 285 2955 2 0 \n",
+ "9 202434 7 2560 622 4498 4 1 \n",
+ "10 202433 7 1971 536 3406 3 1 \n",
+ "11 202432 7 4399 1944 6854 7 3 \n",
+ "12 202431 7 4500 2213 6787 7 4 \n",
+ "13 202430 7 7004 4278 9730 11 7 \n",
+ "14 202429 7 9270 6303 12237 14 10 \n",
+ "15 202428 7 9364 6498 12230 14 10 \n",
+ "16 202427 7 10247 7090 13404 15 10 \n",
+ "17 202426 7 14368 10399 18337 22 16 \n",
+ "18 202425 7 11174 8039 14309 17 12 \n",
+ "19 202424 7 12621 9357 15885 19 14 \n",
+ "20 202423 7 14657 11339 17975 22 17 \n",
+ "21 202422 7 11628 8361 14895 17 12 \n",
+ "22 202421 7 9701 6851 12551 15 11 \n",
+ "23 202420 7 13661 10209 17113 20 15 \n",
+ "24 202419 7 10083 6413 13753 15 9 \n",
+ "25 202418 7 13438 9514 17362 20 14 \n",
+ "26 202417 7 15303 11219 19387 23 17 \n",
+ "27 202416 7 18138 13540 22736 27 20 \n",
+ "28 202415 7 24929 17315 32543 37 26 \n",
+ "29 202414 7 16181 12544 19818 24 19 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "1739 199126 7 17608 11304 23912 31 20 \n",
+ "1740 199125 7 16169 10700 21638 28 18 \n",
+ "1741 199124 7 16171 10071 22271 28 17 \n",
+ "1742 199123 7 11947 7671 16223 21 13 \n",
+ "1743 199122 7 15452 9953 20951 27 17 \n",
+ "1744 199121 7 14903 8975 20831 26 16 \n",
+ "1745 199120 7 19053 12742 25364 34 23 \n",
+ "1746 199119 7 16739 11246 22232 29 19 \n",
+ "1747 199118 7 21385 13882 28888 38 25 \n",
+ "1748 199117 7 13462 8877 18047 24 16 \n",
+ "1749 199116 7 14857 10068 19646 26 18 \n",
+ "1750 199115 7 13975 9781 18169 25 18 \n",
+ "1751 199114 7 12265 7684 16846 22 14 \n",
+ "1752 199113 7 9567 6041 13093 17 11 \n",
+ "1753 199112 7 10864 7331 14397 19 13 \n",
+ "1754 199111 7 15574 11184 19964 27 19 \n",
+ "1755 199110 7 16643 11372 21914 29 20 \n",
+ "1756 199109 7 13741 8780 18702 24 15 \n",
+ "1757 199108 7 13289 8813 17765 23 15 \n",
+ "1758 199107 7 12337 8077 16597 22 15 \n",
+ "1759 199106 7 10877 7013 14741 19 12 \n",
+ "1760 199105 7 10442 6544 14340 18 11 \n",
+ "1761 199104 7 7913 4563 11263 14 8 \n",
+ "1762 199103 7 15387 10484 20290 27 18 \n",
+ "1763 199102 7 16277 11046 21508 29 20 \n",
+ "1764 199101 7 15565 10271 20859 27 18 \n",
+ "1765 199052 7 19375 13295 25455 34 23 \n",
+ "1766 199051 7 19080 13807 24353 34 25 \n",
+ "1767 199050 7 11079 6660 15498 20 12 \n",
+ "1768 199049 7 1143 0 2610 2 0 \n",
+ "\n",
+ " inc100_up geo_insee geo_name \n",
+ "0 7 FR France \n",
+ "1 6 FR France \n",
+ "2 5 FR France \n",
+ "3 5 FR France \n",
+ "4 6 FR France \n",
+ "5 2 FR France \n",
+ "6 2 FR France \n",
+ "7 5 FR France \n",
+ "8 4 FR France \n",
+ "9 7 FR France \n",
+ "10 5 FR France \n",
+ "11 11 FR France \n",
+ "12 10 FR France \n",
+ "13 15 FR France \n",
+ "14 18 FR France \n",
+ "15 18 FR France \n",
+ "16 20 FR France \n",
+ "17 28 FR France \n",
+ "18 22 FR France \n",
+ "19 24 FR France \n",
+ "20 27 FR France \n",
+ "21 22 FR France \n",
+ "22 19 FR France \n",
+ "23 25 FR France \n",
+ "24 21 FR France \n",
+ "25 26 FR France \n",
+ "26 29 FR France \n",
+ "27 34 FR France \n",
+ "28 48 FR France \n",
+ "29 29 FR France \n",
+ "... ... ... ... \n",
+ "1739 42 FR France \n",
+ "1740 38 FR France \n",
+ "1741 39 FR France \n",
+ "1742 29 FR France \n",
+ "1743 37 FR France \n",
+ "1744 36 FR France \n",
+ "1745 45 FR France \n",
+ "1746 39 FR France \n",
+ "1747 51 FR France \n",
+ "1748 32 FR France \n",
+ "1749 34 FR France \n",
+ "1750 32 FR France \n",
+ "1751 30 FR France \n",
+ "1752 23 FR France \n",
+ "1753 25 FR France \n",
+ "1754 35 FR France \n",
+ "1755 38 FR France \n",
+ "1756 33 FR France \n",
+ "1757 31 FR France \n",
+ "1758 29 FR France \n",
+ "1759 26 FR France \n",
+ "1760 25 FR France \n",
+ "1761 20 FR France \n",
+ "1762 36 FR France \n",
+ "1763 38 FR France \n",
+ "1764 36 FR France \n",
+ "1765 45 FR France \n",
+ "1766 43 FR France \n",
+ "1767 28 FR France \n",
+ "1768 5 FR France \n",
+ "\n",
+ "[1769 rows x 10 columns]"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data_path = \"inc-7-PAY.csv\"\n",
+ "\n",
+ "raw_data = pd.read_csv(data_path, skiprows=1)\n",
+ "raw_data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Regardons si certaines lignes sont vides"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " week | \n",
+ " indicator | \n",
+ " inc | \n",
+ " inc_low | \n",
+ " inc_up | \n",
+ " inc100 | \n",
+ " inc100_low | \n",
+ " inc100_up | \n",
+ " geo_insee | \n",
+ " geo_name | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\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": 9,
+ "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 données manquantes\n",
+ "\n",
+ "On convertit maintenant les dates"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "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",
+ "raw_data['period'] = [convert_week(yw) for yw in raw_data['week']]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Trions les données par ordre chronologique"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sorted_data = raw_data.set_index('period').sort_index()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " week | \n",
+ " indicator | \n",
+ " inc | \n",
+ " inc_low | \n",
+ " inc_up | \n",
+ " inc100 | \n",
+ " inc100_low | \n",
+ " inc100_up | \n",
+ " geo_insee | \n",
+ " geo_name | \n",
+ "
\n",
+ " \n",
+ " period | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1990-12-03/1990-12-09 | \n",
+ " 199049 | \n",
+ " 7 | \n",
+ " 1143 | \n",
+ " 0 | \n",
+ " 2610 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1990-12-10/1990-12-16 | \n",
+ " 199050 | \n",
+ " 7 | \n",
+ " 11079 | \n",
+ " 6660 | \n",
+ " 15498 | \n",
+ " 20 | \n",
+ " 12 | \n",
+ " 28 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1990-12-17/1990-12-23 | \n",
+ " 199051 | \n",
+ " 7 | \n",
+ " 19080 | \n",
+ " 13807 | \n",
+ " 24353 | \n",
+ " 34 | \n",
+ " 25 | \n",
+ " 43 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1990-12-24/1990-12-30 | \n",
+ " 199052 | \n",
+ " 7 | \n",
+ " 19375 | \n",
+ " 13295 | \n",
+ " 25455 | \n",
+ " 34 | \n",
+ " 23 | \n",
+ " 45 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1990-12-31/1991-01-06 | \n",
+ " 199101 | \n",
+ " 7 | \n",
+ " 15565 | \n",
+ " 10271 | \n",
+ " 20859 | \n",
+ " 27 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ "
\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": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sorted_data.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Nous vérifions maintenant la cohérence des données, il ne doit pas y avoir d'écart d'une période à une autre"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "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 ne s'affiche, les périodes semblent cohérentes.\n",
+ "\n",
+ "Les données commencent en décembre 1990. Comme notre date référence est le 1er septembre, nous commençons l'analyse en septembre 1991"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "first_septembre_week = [pd.Period(pd.Timestamp(y, 9, 1), 'W')\n",
+ " for y in range(1991,\n",
+ " sorted_data.index[-1].year)]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Nous calculons maintenant l'incidence chaque année en vérifiant qu'il y ait toujours 51 ou 52 semaines par années"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "year = []\n",
+ "yearly_incidence = []\n",
+ "for week1, week2 in zip(first_septembre_week[:-1],\n",
+ " first_septembre_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": [
+ "Nous cherchons maintenant les années durant lesquelles l'épidémie était la plus forte et la plus faible, c'est à dire les années durant lesquelles l'incidence était respectivement la plus élevée et la plus petite."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "2009"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "yearly_incidence.idxmax()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "2020"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "yearly_incidence.idxmin()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "L'épidémie était la plus forte en 2009 et la plus faible en 2020"
+ ]
+ }
+ ],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
@@ -16,10 +1392,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.3"
+ "version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
-