{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## The incidence of chickenpox in France (2016-2024)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data on the incidence of chickenpox-like illness are available from the Web site of the [Réseau Sentinelles](http://www.sentiweb.fr/). We download them as a file in CSV format, in which each line corresponds to a week in the observation period. The dataset used is starting in 2016 and ends with 2024." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import os\n", "from isoweek import Week" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "data_url = \"https://www.sentiweb.fr/datasets/all/inc-7-RDD-ds2.csv\"\n", "filename = \"incidence-chickenpox.csv\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Download -> if there is not a local file already" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists(filename):\n", " raw_data = pd.read_csv(data_url, skiprows=1)\n", "else:\n", " raw_data = pd.read_csv(filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2. Remove rows with missing values" ] }, { "cell_type": "code", "execution_count": 46, "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", "
weekgeo_inseeindicatorincinc100inc_upinc_lowinc100_upinc100_lowperiod
0201601447574108612871552016-01-04/2016-01-10
1201601757151325209992735152016-01-04/2016-01-10
22016018472363302958176837222016-01-04/2016-01-10
320160127768624105831436112016-01-04/2016-01-10
4201601537532168741902662016-01-04/2016-01-10
5201601247394156251632462016-01-04/2016-01-10
620160194738128202502016-01-04/2016-01-10
72016011173030253788227231192016-01-04/2016-01-10
82016017678421413073772262016-01-04/2016-01-10
92016013272100342711148944242016-01-04/2016-01-10
10201601287418126871492042016-01-04/2016-01-10
11201601527102927157748142132016-01-04/2016-01-10
12201601937105321145764929132016-01-04/2016-01-10
132016024477721411224222072016-01-11/2016-01-17
142016027576571110162981752016-01-11/2016-01-17
152016028471486191928104424132016-01-11/2016-01-17
16201602277442157271572552016-01-11/2016-01-17
17201602537444137441442242016-01-11/2016-01-17
18201602247402156271772472016-01-11/2016-01-17
192016029471244201302016-01-11/2016-01-17
202016021171745142317117319102016-01-11/2016-01-17
21201602767110119164455828102016-01-11/2016-01-17
22201602327124920172077828132016-01-11/2016-01-17
23201602287106431151960944182016-01-11/2016-01-17
24201602527408117081081932016-01-11/2016-01-17
252016029371570312099104142212016-01-11/2016-01-17
262016034479851714425282592016-01-18/2016-01-24
272016037572070342769137146232016-01-18/2016-01-24
282016038472258282810170635212016-01-18/2016-01-24
29201603277100935153848053172016-01-18/2016-01-24
.................................
63792025223273001950302025-05-26/2025-06-01
63802025222870000002025-05-26/2025-06-01
6381202522527198552801302025-05-26/2025-06-01
6382202522937125424309805902025-05-26/2025-06-01
63832025234474137109001902025-06-02/2025-06-08
63842025237574427111701802025-06-02/2025-06-08
638520252384711481421561402622025-06-02/2025-06-08
63862025232770000002025-06-02/2025-06-08
6387202523537143439401102025-06-02/2025-06-08
63882025232472721066702502025-06-02/2025-06-08
6389202523947371010402902025-06-02/2025-06-08
639020252311790571763471402025-06-02/2025-06-08
63912025237677514350702025-06-02/2025-06-08
63922025233275279122602002025-06-02/2025-06-08
639320252328710833210902025-06-02/2025-06-08
63942025235270000002025-06-02/2025-06-08
63952025239373366113002202025-06-02/2025-06-08
6396202524447196374101302025-06-09/2025-06-15
639720252475714425160802025-06-09/2025-06-15
639820252484782410174502102025-06-09/2025-06-15
63992025242770000002025-06-09/2025-06-15
6400202524537164543001202025-06-09/2025-06-15
640120252424771027142305402025-06-09/2025-06-15
64022025249472889402602025-06-09/2025-06-15
64032025241179137194601602025-06-09/2025-06-15
64042025247670000002025-06-09/2025-06-15
640520252432714625070802025-06-09/2025-06-15
6406202524287140444101302025-06-09/2025-06-15
64072025245270000002025-06-09/2025-06-15
6408202524937319699501902025-06-09/2025-06-15
\n", "

6409 rows × 10 columns

\n", "
" ], "text/plain": [ " week geo_insee indicator inc inc100 inc_up inc_low inc100_up \\\n", "0 201601 44 7 574 10 861 287 15 \n", "1 201601 75 7 1513 25 2099 927 35 \n", "2 201601 84 7 2363 30 2958 1768 37 \n", "3 201601 27 7 686 24 1058 314 36 \n", "4 201601 53 7 532 16 874 190 26 \n", "5 201601 24 7 394 15 625 163 24 \n", "6 201601 94 7 38 12 82 0 25 \n", "7 201601 11 7 3030 25 3788 2272 31 \n", "8 201601 76 7 842 14 1307 377 22 \n", "9 201601 32 7 2100 34 2711 1489 44 \n", "10 201601 28 7 418 12 687 149 20 \n", "11 201601 52 7 1029 27 1577 481 42 \n", "12 201601 93 7 1053 21 1457 649 29 \n", "13 201602 44 7 772 14 1122 422 20 \n", "14 201602 75 7 657 11 1016 298 17 \n", "15 201602 84 7 1486 19 1928 1044 24 \n", "16 201602 27 7 442 15 727 157 25 \n", "17 201602 53 7 444 13 744 144 22 \n", "18 201602 24 7 402 15 627 177 24 \n", "19 201602 94 7 12 4 42 0 13 \n", "20 201602 11 7 1745 14 2317 1173 19 \n", "21 201602 76 7 1101 19 1644 558 28 \n", "22 201602 32 7 1249 20 1720 778 28 \n", "23 201602 28 7 1064 31 1519 609 44 \n", "24 201602 52 7 408 11 708 108 19 \n", "25 201602 93 7 1570 31 2099 1041 42 \n", "26 201603 44 7 985 17 1442 528 25 \n", "27 201603 75 7 2070 34 2769 1371 46 \n", "28 201603 84 7 2258 28 2810 1706 35 \n", "29 201603 27 7 1009 35 1538 480 53 \n", "... ... ... ... ... ... ... ... ... \n", "6379 202522 32 7 30 0 195 0 3 \n", "6380 202522 28 7 0 0 0 0 0 \n", "6381 202522 52 7 198 5 528 0 13 \n", "6382 202522 93 7 1254 24 3098 0 59 \n", "6383 202523 44 7 413 7 1090 0 19 \n", "6384 202523 75 7 442 7 1117 0 18 \n", "6385 202523 84 7 1148 14 2156 140 26 \n", "6386 202523 27 7 0 0 0 0 0 \n", "6387 202523 53 7 143 4 394 0 11 \n", "6388 202523 24 7 272 10 667 0 25 \n", "6389 202523 94 7 37 10 104 0 29 \n", "6390 202523 11 7 905 7 1763 47 14 \n", "6391 202523 76 7 75 1 435 0 7 \n", "6392 202523 32 7 527 9 1226 0 20 \n", "6393 202523 28 7 108 3 321 0 9 \n", "6394 202523 52 7 0 0 0 0 0 \n", "6395 202523 93 7 336 6 1130 0 22 \n", "6396 202524 44 7 196 3 741 0 13 \n", "6397 202524 75 7 144 2 516 0 8 \n", "6398 202524 84 7 824 10 1745 0 21 \n", "6399 202524 27 7 0 0 0 0 0 \n", "6400 202524 53 7 164 5 430 0 12 \n", "6401 202524 24 7 710 27 1423 0 54 \n", "6402 202524 94 7 28 8 94 0 26 \n", "6403 202524 11 7 913 7 1946 0 16 \n", "6404 202524 76 7 0 0 0 0 0 \n", "6405 202524 32 7 146 2 507 0 8 \n", "6406 202524 28 7 140 4 441 0 13 \n", "6407 202524 52 7 0 0 0 0 0 \n", "6408 202524 93 7 319 6 995 0 19 \n", "\n", " inc100_low period \n", "0 5 2016-01-04/2016-01-10 \n", "1 15 2016-01-04/2016-01-10 \n", "2 22 2016-01-04/2016-01-10 \n", "3 11 2016-01-04/2016-01-10 \n", "4 6 2016-01-04/2016-01-10 \n", "5 6 2016-01-04/2016-01-10 \n", "6 0 2016-01-04/2016-01-10 \n", "7 19 2016-01-04/2016-01-10 \n", "8 6 2016-01-04/2016-01-10 \n", "9 24 2016-01-04/2016-01-10 \n", "10 4 2016-01-04/2016-01-10 \n", "11 13 2016-01-04/2016-01-10 \n", "12 13 2016-01-04/2016-01-10 \n", "13 7 2016-01-11/2016-01-17 \n", "14 5 2016-01-11/2016-01-17 \n", "15 13 2016-01-11/2016-01-17 \n", "16 5 2016-01-11/2016-01-17 \n", "17 4 2016-01-11/2016-01-17 \n", "18 7 2016-01-11/2016-01-17 \n", "19 0 2016-01-11/2016-01-17 \n", "20 10 2016-01-11/2016-01-17 \n", "21 10 2016-01-11/2016-01-17 \n", "22 13 2016-01-11/2016-01-17 \n", "23 18 2016-01-11/2016-01-17 \n", "24 3 2016-01-11/2016-01-17 \n", "25 21 2016-01-11/2016-01-17 \n", "26 9 2016-01-18/2016-01-24 \n", "27 23 2016-01-18/2016-01-24 \n", "28 21 2016-01-18/2016-01-24 \n", "29 17 2016-01-18/2016-01-24 \n", "... ... ... \n", "6379 0 2025-05-26/2025-06-01 \n", "6380 0 2025-05-26/2025-06-01 \n", "6381 0 2025-05-26/2025-06-01 \n", "6382 0 2025-05-26/2025-06-01 \n", "6383 0 2025-06-02/2025-06-08 \n", "6384 0 2025-06-02/2025-06-08 \n", "6385 2 2025-06-02/2025-06-08 \n", "6386 0 2025-06-02/2025-06-08 \n", "6387 0 2025-06-02/2025-06-08 \n", "6388 0 2025-06-02/2025-06-08 \n", "6389 0 2025-06-02/2025-06-08 \n", "6390 0 2025-06-02/2025-06-08 \n", "6391 0 2025-06-02/2025-06-08 \n", "6392 0 2025-06-02/2025-06-08 \n", "6393 0 2025-06-02/2025-06-08 \n", "6394 0 2025-06-02/2025-06-08 \n", "6395 0 2025-06-02/2025-06-08 \n", "6396 0 2025-06-09/2025-06-15 \n", "6397 0 2025-06-09/2025-06-15 \n", "6398 0 2025-06-09/2025-06-15 \n", "6399 0 2025-06-09/2025-06-15 \n", "6400 0 2025-06-09/2025-06-15 \n", "6401 0 2025-06-09/2025-06-15 \n", "6402 0 2025-06-09/2025-06-15 \n", "6403 0 2025-06-09/2025-06-15 \n", "6404 0 2025-06-09/2025-06-15 \n", "6405 0 2025-06-09/2025-06-15 \n", "6406 0 2025-06-09/2025-06-15 \n", "6407 0 2025-06-09/2025-06-15 \n", "6408 0 2025-06-09/2025-06-15 \n", "\n", "[6409 rows x 10 columns]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = raw_data.dropna()\n", "raw_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3. Convert 'week' to period " ] }, { "cell_type": "code", "execution_count": 47, "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", "
weekgeo_inseeindicatorincinc100inc_upinc_lowinc100_upinc100_lowperiod
0201601447574108612871552016-01-04/2016-01-10
1201601757151325209992735152016-01-04/2016-01-10
22016018472363302958176837222016-01-04/2016-01-10
320160127768624105831436112016-01-04/2016-01-10
4201601537532168741902662016-01-04/2016-01-10
5201601247394156251632462016-01-04/2016-01-10
620160194738128202502016-01-04/2016-01-10
72016011173030253788227231192016-01-04/2016-01-10
82016017678421413073772262016-01-04/2016-01-10
92016013272100342711148944242016-01-04/2016-01-10
10201601287418126871492042016-01-04/2016-01-10
11201601527102927157748142132016-01-04/2016-01-10
12201601937105321145764929132016-01-04/2016-01-10
132016024477721411224222072016-01-11/2016-01-17
142016027576571110162981752016-01-11/2016-01-17
152016028471486191928104424132016-01-11/2016-01-17
16201602277442157271572552016-01-11/2016-01-17
17201602537444137441442242016-01-11/2016-01-17
18201602247402156271772472016-01-11/2016-01-17
192016029471244201302016-01-11/2016-01-17
202016021171745142317117319102016-01-11/2016-01-17
21201602767110119164455828102016-01-11/2016-01-17
22201602327124920172077828132016-01-11/2016-01-17
23201602287106431151960944182016-01-11/2016-01-17
24201602527408117081081932016-01-11/2016-01-17
252016029371570312099104142212016-01-11/2016-01-17
262016034479851714425282592016-01-18/2016-01-24
272016037572070342769137146232016-01-18/2016-01-24
282016038472258282810170635212016-01-18/2016-01-24
29201603277100935153848053172016-01-18/2016-01-24
.................................
63792025223273001950302025-05-26/2025-06-01
63802025222870000002025-05-26/2025-06-01
6381202522527198552801302025-05-26/2025-06-01
6382202522937125424309805902025-05-26/2025-06-01
63832025234474137109001902025-06-02/2025-06-08
63842025237574427111701802025-06-02/2025-06-08
638520252384711481421561402622025-06-02/2025-06-08
63862025232770000002025-06-02/2025-06-08
6387202523537143439401102025-06-02/2025-06-08
63882025232472721066702502025-06-02/2025-06-08
6389202523947371010402902025-06-02/2025-06-08
639020252311790571763471402025-06-02/2025-06-08
63912025237677514350702025-06-02/2025-06-08
63922025233275279122602002025-06-02/2025-06-08
639320252328710833210902025-06-02/2025-06-08
63942025235270000002025-06-02/2025-06-08
63952025239373366113002202025-06-02/2025-06-08
6396202524447196374101302025-06-09/2025-06-15
639720252475714425160802025-06-09/2025-06-15
639820252484782410174502102025-06-09/2025-06-15
63992025242770000002025-06-09/2025-06-15
6400202524537164543001202025-06-09/2025-06-15
640120252424771027142305402025-06-09/2025-06-15
64022025249472889402602025-06-09/2025-06-15
64032025241179137194601602025-06-09/2025-06-15
64042025247670000002025-06-09/2025-06-15
640520252432714625070802025-06-09/2025-06-15
6406202524287140444101302025-06-09/2025-06-15
64072025245270000002025-06-09/2025-06-15
6408202524937319699501902025-06-09/2025-06-15
\n", "

6409 rows × 10 columns

\n", "
" ], "text/plain": [ " week geo_insee indicator inc inc100 inc_up inc_low inc100_up \\\n", "0 201601 44 7 574 10 861 287 15 \n", "1 201601 75 7 1513 25 2099 927 35 \n", "2 201601 84 7 2363 30 2958 1768 37 \n", "3 201601 27 7 686 24 1058 314 36 \n", "4 201601 53 7 532 16 874 190 26 \n", "5 201601 24 7 394 15 625 163 24 \n", "6 201601 94 7 38 12 82 0 25 \n", "7 201601 11 7 3030 25 3788 2272 31 \n", "8 201601 76 7 842 14 1307 377 22 \n", "9 201601 32 7 2100 34 2711 1489 44 \n", "10 201601 28 7 418 12 687 149 20 \n", "11 201601 52 7 1029 27 1577 481 42 \n", "12 201601 93 7 1053 21 1457 649 29 \n", "13 201602 44 7 772 14 1122 422 20 \n", "14 201602 75 7 657 11 1016 298 17 \n", "15 201602 84 7 1486 19 1928 1044 24 \n", "16 201602 27 7 442 15 727 157 25 \n", "17 201602 53 7 444 13 744 144 22 \n", "18 201602 24 7 402 15 627 177 24 \n", "19 201602 94 7 12 4 42 0 13 \n", "20 201602 11 7 1745 14 2317 1173 19 \n", "21 201602 76 7 1101 19 1644 558 28 \n", "22 201602 32 7 1249 20 1720 778 28 \n", "23 201602 28 7 1064 31 1519 609 44 \n", "24 201602 52 7 408 11 708 108 19 \n", "25 201602 93 7 1570 31 2099 1041 42 \n", "26 201603 44 7 985 17 1442 528 25 \n", "27 201603 75 7 2070 34 2769 1371 46 \n", "28 201603 84 7 2258 28 2810 1706 35 \n", "29 201603 27 7 1009 35 1538 480 53 \n", "... ... ... ... ... ... ... ... ... \n", "6379 202522 32 7 30 0 195 0 3 \n", "6380 202522 28 7 0 0 0 0 0 \n", "6381 202522 52 7 198 5 528 0 13 \n", "6382 202522 93 7 1254 24 3098 0 59 \n", "6383 202523 44 7 413 7 1090 0 19 \n", "6384 202523 75 7 442 7 1117 0 18 \n", "6385 202523 84 7 1148 14 2156 140 26 \n", "6386 202523 27 7 0 0 0 0 0 \n", "6387 202523 53 7 143 4 394 0 11 \n", "6388 202523 24 7 272 10 667 0 25 \n", "6389 202523 94 7 37 10 104 0 29 \n", "6390 202523 11 7 905 7 1763 47 14 \n", "6391 202523 76 7 75 1 435 0 7 \n", "6392 202523 32 7 527 9 1226 0 20 \n", "6393 202523 28 7 108 3 321 0 9 \n", "6394 202523 52 7 0 0 0 0 0 \n", "6395 202523 93 7 336 6 1130 0 22 \n", "6396 202524 44 7 196 3 741 0 13 \n", "6397 202524 75 7 144 2 516 0 8 \n", "6398 202524 84 7 824 10 1745 0 21 \n", "6399 202524 27 7 0 0 0 0 0 \n", "6400 202524 53 7 164 5 430 0 12 \n", "6401 202524 24 7 710 27 1423 0 54 \n", "6402 202524 94 7 28 8 94 0 26 \n", "6403 202524 11 7 913 7 1946 0 16 \n", "6404 202524 76 7 0 0 0 0 0 \n", "6405 202524 32 7 146 2 507 0 8 \n", "6406 202524 28 7 140 4 441 0 13 \n", "6407 202524 52 7 0 0 0 0 0 \n", "6408 202524 93 7 319 6 995 0 19 \n", "\n", " inc100_low period \n", "0 5 2016-01-04/2016-01-10 \n", "1 15 2016-01-04/2016-01-10 \n", "2 22 2016-01-04/2016-01-10 \n", "3 11 2016-01-04/2016-01-10 \n", "4 6 2016-01-04/2016-01-10 \n", "5 6 2016-01-04/2016-01-10 \n", "6 0 2016-01-04/2016-01-10 \n", "7 19 2016-01-04/2016-01-10 \n", "8 6 2016-01-04/2016-01-10 \n", "9 24 2016-01-04/2016-01-10 \n", "10 4 2016-01-04/2016-01-10 \n", "11 13 2016-01-04/2016-01-10 \n", "12 13 2016-01-04/2016-01-10 \n", "13 7 2016-01-11/2016-01-17 \n", "14 5 2016-01-11/2016-01-17 \n", "15 13 2016-01-11/2016-01-17 \n", "16 5 2016-01-11/2016-01-17 \n", "17 4 2016-01-11/2016-01-17 \n", "18 7 2016-01-11/2016-01-17 \n", "19 0 2016-01-11/2016-01-17 \n", "20 10 2016-01-11/2016-01-17 \n", "21 10 2016-01-11/2016-01-17 \n", "22 13 2016-01-11/2016-01-17 \n", "23 18 2016-01-11/2016-01-17 \n", "24 3 2016-01-11/2016-01-17 \n", "25 21 2016-01-11/2016-01-17 \n", "26 9 2016-01-18/2016-01-24 \n", "27 23 2016-01-18/2016-01-24 \n", "28 21 2016-01-18/2016-01-24 \n", "29 17 2016-01-18/2016-01-24 \n", "... ... ... \n", "6379 0 2025-05-26/2025-06-01 \n", "6380 0 2025-05-26/2025-06-01 \n", "6381 0 2025-05-26/2025-06-01 \n", "6382 0 2025-05-26/2025-06-01 \n", "6383 0 2025-06-02/2025-06-08 \n", "6384 0 2025-06-02/2025-06-08 \n", "6385 2 2025-06-02/2025-06-08 \n", "6386 0 2025-06-02/2025-06-08 \n", "6387 0 2025-06-02/2025-06-08 \n", "6388 0 2025-06-02/2025-06-08 \n", "6389 0 2025-06-02/2025-06-08 \n", "6390 0 2025-06-02/2025-06-08 \n", "6391 0 2025-06-02/2025-06-08 \n", "6392 0 2025-06-02/2025-06-08 \n", "6393 0 2025-06-02/2025-06-08 \n", "6394 0 2025-06-02/2025-06-08 \n", "6395 0 2025-06-02/2025-06-08 \n", "6396 0 2025-06-09/2025-06-15 \n", "6397 0 2025-06-09/2025-06-15 \n", "6398 0 2025-06-09/2025-06-15 \n", "6399 0 2025-06-09/2025-06-15 \n", "6400 0 2025-06-09/2025-06-15 \n", "6401 0 2025-06-09/2025-06-15 \n", "6402 0 2025-06-09/2025-06-15 \n", "6403 0 2025-06-09/2025-06-15 \n", "6404 0 2025-06-09/2025-06-15 \n", "6405 0 2025-06-09/2025-06-15 \n", "6406 0 2025-06-09/2025-06-15 \n", "6407 0 2025-06-09/2025-06-15 \n", "6408 0 2025-06-09/2025-06-15 \n", "\n", "[6409 rows x 10 columns]" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def convert_week(yearweek):\n", " y, w = int(str(yearweek)[:4]), int(str(yearweek)[4:])\n", " return pd.Period(Week(y, w).day(0), 'W')\n", "\n", "raw_data['period'] = [convert_week(x) for x in raw_data['week']]\n", "raw_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4. Set 'period' as index and sort the dataset" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "data = raw_data.set_index('period').sort_index()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "5. Choose September 1st as the beginning of each annual period" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "sept_start = [pd.Period(pd.Timestamp(y, 9, 1), 'W')\n", " for y in range(2016, data.index[-1].year)]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6. Collect the incidence per year information" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "Cannot compare type 'Period' with type 'int'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mincidence\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msept_start\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msept_start\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mseason\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'inc'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;31m# No need for -1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mseason\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m52\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mincidence\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mseason\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 662\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_bool_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 663\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 664\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_with\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 665\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 666\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_get_with\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_get_with\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 667\u001b[0m \u001b[0;31m# other: fancy integer or otherwise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 668\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mslice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 669\u001b[0;31m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_convert_slice_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'getitem'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 670\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 671\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mABCDataFrame\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m_convert_slice_indexer\u001b[0;34m(self, key, kind)\u001b[0m\n\u001b[1;32m 1462\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1463\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1464\u001b[0;31m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mslice_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstep\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1465\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1466\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_index_slice\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mslice_indexer\u001b[0;34m(self, start, end, step, kind)\u001b[0m\n\u001b[1;32m 3455\u001b[0m \"\"\"\n\u001b[1;32m 3456\u001b[0m start_slice, end_slice = self.slice_locs(start, end, step=step,\n\u001b[0;32m-> 3457\u001b[0;31m kind=kind)\n\u001b[0m\u001b[1;32m 3458\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3459\u001b[0m \u001b[0;31m# return a slice\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mslice_locs\u001b[0;34m(self, start, end, step, kind)\u001b[0m\n\u001b[1;32m 3656\u001b[0m \u001b[0mstart_slice\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3657\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstart\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3658\u001b[0;31m \u001b[0mstart_slice\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_slice_bound\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'left'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3659\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstart_slice\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3660\u001b[0m \u001b[0mstart_slice\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_slice_bound\u001b[0;34m(self, label, side, kind)\u001b[0m\n\u001b[1;32m 3586\u001b[0m \u001b[0;31m# we need to look up the label\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3587\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3588\u001b[0;31m \u001b[0mslc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_loc_only_exact_matches\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3589\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3590\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m_get_loc_only_exact_matches\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3555\u001b[0m \u001b[0mget_slice_bound\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3556\u001b[0m \"\"\"\n\u001b[0;32m-> 3557\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3558\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3559\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_slice_bound\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mside\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/period.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 810\u001b[0m \"\"\"\n\u001b[1;32m 811\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 812\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 813\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 814\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine._get_loc_duplicates\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/period.pyx\u001b[0m in \u001b[0;36mpandas._libs.period._Period.__richcmp__\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: Cannot compare type 'Period' with type 'int'" ] } ], "source": [ "years = []\n", "incidence = []\n", "for start, end in zip(sept_start[:-1], sept_start[1:]):\n", " season = data['inc'][start:end] # No need for -1\n", " assert abs(len(season) - 52) < 3\n", " incidence.append(season.sum())\n", " years.append(end.year)\n", "\n", "annual = pd.Series(data=incidence, index=years)\n" ] }, { "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 }