From fe9d1c7a3f228b4d050d4ddf760f5f246cfb131b Mon Sep 17 00:00:00 2001 From: 036332d1e8a8fad18eace193f300e27a <036332d1e8a8fad18eace193f300e27a@app-learninglab.inria.fr> Date: Tue, 24 Jun 2025 14:38:57 +0000 Subject: [PATCH] Completed --- .../exo2/Module 3_Completed_exercise.ipynb | 1416 ++++++++++++++ module3/exo2/exercice.ipynb | 1638 +++++++++-------- 2 files changed, 2255 insertions(+), 799 deletions(-) create mode 100644 module3/exo2/Module 3_Completed_exercise.ipynb diff --git a/module3/exo2/Module 3_Completed_exercise.ipynb b/module3/exo2/Module 3_Completed_exercise.ipynb new file mode 100644 index 0000000..6c9ef0d --- /dev/null +++ b/module3/exo2/Module 3_Completed_exercise.ipynb @@ -0,0 +1,1416 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The incidence of chickenpox in France" + ] + }, + { + "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. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: isoweek in /opt/conda/lib/python3.6/site-packages (1.3.3)\r\n" + ] + } + ], + "source": [ + "!pip install isoweek" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import isoweek \n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\" \n", + "filename = \"inc-7-PAY-ds3.csv\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Download -> if there is not a local file already" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "if not os.path.exists(filename):\n", + " raw_data = pd.read_csv(data_url, encoding = 'iso-8859-1' , 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": 7, + "metadata": { + "scrolled": true + }, + "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", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
18831989193-NaNNaN-NaNNaNFRFrance
\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low inc100_up \\\n", + "1883 198919 3 - NaN NaN - NaN NaN \n", + "\n", + " geo_insee geo_name \n", + "1883 FR France " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data[raw_data.isnull(). any (axis= 1 )] " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
020252432281617621.028011.03426.042.0FRFrance
120252332456419382.029746.03729.045.0FRFrance
220252231875514333.023177.02821.035.0FRFrance
320252132376018671.028849.03527.043.0FRFrance
420252032026515814.024716.03023.037.0FRFrance
520251931626412394.020134.02418.030.0FRFrance
620251831811513975.022255.02721.033.0FRFrance
720251732215017291.027009.03326.040.0FRFrance
820251632856422550.034578.04334.052.0FRFrance
920251533572129592.041850.05344.062.0FRFrance
1020251433757931232.043926.05647.065.0FRFrance
1120251333967333686.045660.05950.068.0FRFrance
1220251235254345627.059459.07868.088.0FRFrance
1320251135946952154.066784.08978.0100.0FRFrance
1420251036033453048.067620.09079.0101.0FRFrance
1520250938453174994.094068.0126112.0140.0FRFrance
162025083136020124824.0147216.0203186.0220.0FRFrance
172025073208952195988.0221916.0312293.0331.0FRFrance
182025063273519258159.0288879.0408385.0431.0FRFrance
192025053334395318416.0350374.0499475.0523.0FRFrance
202025043350043332885.0367201.0522496.0548.0FRFrance
212025033252772238917.0266627.0377356.0398.0FRFrance
222025023257247242991.0271503.0384363.0405.0FRFrance
232025013231549214627.0248471.0345320.0370.0FRFrance
242024523201726185870.0217582.0302278.0326.0FRFrance
252024513201697187843.0215551.0302281.0323.0FRFrance
262024503136694126369.0147019.0205190.0220.0FRFrance
27202449310848799037.0117937.0163149.0177.0FRFrance
2820244838738178687.096075.0131118.0144.0FRFrance
2920244737628667626.084946.0114101.0127.0FRFrance
.................................
209019852132609619621.032571.04735.059.0FRFrance
209119852032789620885.034907.05138.064.0FRFrance
209219851934315432821.053487.07859.097.0FRFrance
209319851834055529935.051175.07455.093.0FRFrance
209419851733405324366.043740.06244.080.0FRFrance
209519851635036236451.064273.09166.0116.0FRFrance
209619851536388145538.082224.011683.0149.0FRFrance
20971985143134545114400.0154690.0244207.0281.0FRFrance
20981985133197206176080.0218332.0357319.0395.0FRFrance
20991985123245240223304.0267176.0445405.0485.0FRFrance
21001985113276205252399.0300011.0501458.0544.0FRFrance
21011985103353231326279.0380183.0640591.0689.0FRFrance
21021985093369895341109.0398681.0670618.0722.0FRFrance
21031985083389886359529.0420243.0707652.0762.0FRFrance
21041985073471852432599.0511105.0855784.0926.0FRFrance
21051985063565825518011.0613639.01026939.01113.0FRFrance
21061985053637302592795.0681809.011551074.01236.0FRFrance
21071985043424937390794.0459080.0770708.0832.0FRFrance
21081985033213901174689.0253113.0388317.0459.0FRFrance
210919850239758680949.0114223.0177147.0207.0FRFrance
211019850138548965918.0105060.0155120.0190.0FRFrance
211119845238483060602.0109058.0154110.0198.0FRFrance
2112198451310172680242.0123210.0185146.0224.0FRFrance
21131984503123680101401.0145959.0225184.0266.0FRFrance
2114198449310107381684.0120462.0184149.0219.0FRFrance
211519844837862060634.096606.0143110.0176.0FRFrance
211619844737202954274.089784.013199.0163.0FRFrance
211719844638733067686.0106974.0159123.0195.0FRFrance
21181984453135223101414.0169032.0246184.0308.0FRFrance
211919844436842220056.0116788.012537.0213.0FRFrance
\n", + "

2119 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202524 3 22816 17621.0 28011.0 34 26.0 \n", + "1 202523 3 24564 19382.0 29746.0 37 29.0 \n", + "2 202522 3 18755 14333.0 23177.0 28 21.0 \n", + "3 202521 3 23760 18671.0 28849.0 35 27.0 \n", + "4 202520 3 20265 15814.0 24716.0 30 23.0 \n", + "5 202519 3 16264 12394.0 20134.0 24 18.0 \n", + "6 202518 3 18115 13975.0 22255.0 27 21.0 \n", + "7 202517 3 22150 17291.0 27009.0 33 26.0 \n", + "8 202516 3 28564 22550.0 34578.0 43 34.0 \n", + "9 202515 3 35721 29592.0 41850.0 53 44.0 \n", + "10 202514 3 37579 31232.0 43926.0 56 47.0 \n", + "11 202513 3 39673 33686.0 45660.0 59 50.0 \n", + "12 202512 3 52543 45627.0 59459.0 78 68.0 \n", + "13 202511 3 59469 52154.0 66784.0 89 78.0 \n", + "14 202510 3 60334 53048.0 67620.0 90 79.0 \n", + "15 202509 3 84531 74994.0 94068.0 126 112.0 \n", + "16 202508 3 136020 124824.0 147216.0 203 186.0 \n", + "17 202507 3 208952 195988.0 221916.0 312 293.0 \n", + "18 202506 3 273519 258159.0 288879.0 408 385.0 \n", + "19 202505 3 334395 318416.0 350374.0 499 475.0 \n", + "20 202504 3 350043 332885.0 367201.0 522 496.0 \n", + "21 202503 3 252772 238917.0 266627.0 377 356.0 \n", + "22 202502 3 257247 242991.0 271503.0 384 363.0 \n", + "23 202501 3 231549 214627.0 248471.0 345 320.0 \n", + "24 202452 3 201726 185870.0 217582.0 302 278.0 \n", + "25 202451 3 201697 187843.0 215551.0 302 281.0 \n", + "26 202450 3 136694 126369.0 147019.0 205 190.0 \n", + "27 202449 3 108487 99037.0 117937.0 163 149.0 \n", + "28 202448 3 87381 78687.0 96075.0 131 118.0 \n", + "29 202447 3 76286 67626.0 84946.0 114 101.0 \n", + "... ... ... ... ... ... ... ... \n", + "2090 198521 3 26096 19621.0 32571.0 47 35.0 \n", + "2091 198520 3 27896 20885.0 34907.0 51 38.0 \n", + "2092 198519 3 43154 32821.0 53487.0 78 59.0 \n", + "2093 198518 3 40555 29935.0 51175.0 74 55.0 \n", + "2094 198517 3 34053 24366.0 43740.0 62 44.0 \n", + "2095 198516 3 50362 36451.0 64273.0 91 66.0 \n", + "2096 198515 3 63881 45538.0 82224.0 116 83.0 \n", + "2097 198514 3 134545 114400.0 154690.0 244 207.0 \n", + "2098 198513 3 197206 176080.0 218332.0 357 319.0 \n", + "2099 198512 3 245240 223304.0 267176.0 445 405.0 \n", + "2100 198511 3 276205 252399.0 300011.0 501 458.0 \n", + "2101 198510 3 353231 326279.0 380183.0 640 591.0 \n", + "2102 198509 3 369895 341109.0 398681.0 670 618.0 \n", + "2103 198508 3 389886 359529.0 420243.0 707 652.0 \n", + "2104 198507 3 471852 432599.0 511105.0 855 784.0 \n", + "2105 198506 3 565825 518011.0 613639.0 1026 939.0 \n", + "2106 198505 3 637302 592795.0 681809.0 1155 1074.0 \n", + "2107 198504 3 424937 390794.0 459080.0 770 708.0 \n", + "2108 198503 3 213901 174689.0 253113.0 388 317.0 \n", + "2109 198502 3 97586 80949.0 114223.0 177 147.0 \n", + "2110 198501 3 85489 65918.0 105060.0 155 120.0 \n", + "2111 198452 3 84830 60602.0 109058.0 154 110.0 \n", + "2112 198451 3 101726 80242.0 123210.0 185 146.0 \n", + "2113 198450 3 123680 101401.0 145959.0 225 184.0 \n", + "2114 198449 3 101073 81684.0 120462.0 184 149.0 \n", + "2115 198448 3 78620 60634.0 96606.0 143 110.0 \n", + "2116 198447 3 72029 54274.0 89784.0 131 99.0 \n", + "2117 198446 3 87330 67686.0 106974.0 159 123.0 \n", + "2118 198445 3 135223 101414.0 169032.0 246 184.0 \n", + "2119 198444 3 68422 20056.0 116788.0 125 37.0 \n", + "\n", + " inc100_up geo_insee geo_name \n", + "0 42.0 FR France \n", + "1 45.0 FR France \n", + "2 35.0 FR France \n", + "3 43.0 FR France \n", + "4 37.0 FR France \n", + "5 30.0 FR France \n", + "6 33.0 FR France \n", + "7 40.0 FR France \n", + "8 52.0 FR France \n", + "9 62.0 FR France \n", + "10 65.0 FR France \n", + "11 68.0 FR France \n", + "12 88.0 FR France \n", + "13 100.0 FR France \n", + "14 101.0 FR France \n", + "15 140.0 FR France \n", + "16 220.0 FR France \n", + "17 331.0 FR France \n", + "18 431.0 FR France \n", + "19 523.0 FR France \n", + "20 548.0 FR France \n", + "21 398.0 FR France \n", + "22 405.0 FR France \n", + "23 370.0 FR France \n", + "24 326.0 FR France \n", + "25 323.0 FR France \n", + "26 220.0 FR France \n", + "27 177.0 FR France \n", + "28 144.0 FR France \n", + "29 127.0 FR France \n", + "... ... ... ... \n", + "2090 59.0 FR France \n", + "2091 64.0 FR France \n", + "2092 97.0 FR France \n", + "2093 93.0 FR France \n", + "2094 80.0 FR France \n", + "2095 116.0 FR France \n", + "2096 149.0 FR France \n", + "2097 281.0 FR France \n", + "2098 395.0 FR France \n", + "2099 485.0 FR France \n", + "2100 544.0 FR France \n", + "2101 689.0 FR France \n", + "2102 722.0 FR France \n", + "2103 762.0 FR France \n", + "2104 926.0 FR France \n", + "2105 1113.0 FR France \n", + "2106 1236.0 FR France \n", + "2107 832.0 FR France \n", + "2108 459.0 FR France \n", + "2109 207.0 FR France \n", + "2110 190.0 FR France \n", + "2111 198.0 FR France \n", + "2112 224.0 FR France \n", + "2113 266.0 FR France \n", + "2114 219.0 FR France \n", + "2115 176.0 FR France \n", + "2116 163.0 FR France \n", + "2117 195.0 FR France \n", + "2118 308.0 FR France \n", + "2119 213.0 FR France \n", + "\n", + "[2119 rows x 10 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = raw_data.dropna().copy()\n", + "data " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3. Convert 'week' to period " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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": [ + "4. Set 'period' as index and sort the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data = data.set_index( 'period' ).sort_index() \n", + "# Ensure the 'inc' column is numeric\n", + "sorted_data['inc'] = pd.to_numeric(sorted_data['inc'], errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1989-05-01/1989-05-07 1989-05-15/1989-05-21\n" + ] + } + ], + "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": [ + "5. Choose September 1st as the beginning of each annual period" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Period('1985-08-26/1985-09-01', 'W-SUN'),\n", + " Period('1986-09-01/1986-09-07', 'W-SUN'),\n", + " Period('1987-08-31/1987-09-06', 'W-SUN'),\n", + " Period('1988-08-29/1988-09-04', 'W-SUN'),\n", + " Period('1989-08-28/1989-09-03', 'W-SUN'),\n", + " Period('1990-08-27/1990-09-02', 'W-SUN'),\n", + " Period('1991-08-26/1991-09-01', 'W-SUN'),\n", + " Period('1992-08-31/1992-09-06', 'W-SUN'),\n", + " Period('1993-08-30/1993-09-05', 'W-SUN'),\n", + " Period('1994-08-29/1994-09-04', 'W-SUN'),\n", + " Period('1995-08-28/1995-09-03', 'W-SUN'),\n", + " Period('1996-08-26/1996-09-01', 'W-SUN'),\n", + " Period('1997-09-01/1997-09-07', 'W-SUN'),\n", + " Period('1998-08-31/1998-09-06', 'W-SUN'),\n", + " Period('1999-08-30/1999-09-05', 'W-SUN'),\n", + " Period('2000-08-28/2000-09-03', 'W-SUN'),\n", + " Period('2001-08-27/2001-09-02', 'W-SUN'),\n", + " Period('2002-08-26/2002-09-01', 'W-SUN'),\n", + " Period('2003-09-01/2003-09-07', 'W-SUN'),\n", + " Period('2004-08-30/2004-09-05', 'W-SUN'),\n", + " Period('2005-08-29/2005-09-04', 'W-SUN'),\n", + " Period('2006-08-28/2006-09-03', 'W-SUN'),\n", + " Period('2007-08-27/2007-09-02', 'W-SUN'),\n", + " Period('2008-09-01/2008-09-07', 'W-SUN'),\n", + " Period('2009-08-31/2009-09-06', 'W-SUN'),\n", + " Period('2010-08-30/2010-09-05', 'W-SUN'),\n", + " Period('2011-08-29/2011-09-04', 'W-SUN'),\n", + " Period('2012-08-27/2012-09-02', 'W-SUN'),\n", + " Period('2013-08-26/2013-09-01', 'W-SUN'),\n", + " Period('2014-09-01/2014-09-07', 'W-SUN'),\n", + " Period('2015-08-31/2015-09-06', 'W-SUN'),\n", + " Period('2016-08-29/2016-09-04', 'W-SUN'),\n", + " Period('2017-08-28/2017-09-03', 'W-SUN'),\n", + " Period('2018-08-27/2018-09-02', 'W-SUN'),\n", + " Period('2019-08-26/2019-09-01', 'W-SUN'),\n", + " Period('2020-08-31/2020-09-06', 'W-SUN'),\n", + " Period('2021-08-30/2021-09-05', 'W-SUN'),\n", + " Period('2022-08-29/2022-09-04', 'W-SUN'),\n", + " Period('2023-08-28/2023-09-03', 'W-SUN'),\n", + " Period('2024-08-26/2024-09-01', 'W-SUN')]" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "first_sept_week = [pd.Period(pd.Timestamp(y, 9 , 1 ), 'W' )\n", + " for y in range ( 1985 ,\n", + " sorted_data.index[- 1 ].year)] \n", + "first_sept_week" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "6. Collect the incidence per year information" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2021 772545\n", + "2014 1601698\n", + "1991 1663610\n", + "1995 1828304\n", + "2020 2017296\n", + "2022 2057596\n", + "2012 2183912\n", + "2003 2234514\n", + "2019 2254363\n", + "2006 2297262\n", + "2017 2322818\n", + "2001 2540826\n", + "1992 2590314\n", + "1993 2699482\n", + "2018 2701716\n", + "1988 2759663\n", + "2007 2786458\n", + "2011 2852504\n", + "2016 2859019\n", + "1987 2867464\n", + "2023 2908672\n", + "2008 2984311\n", + "1998 3047298\n", + "2002 3115484\n", + "1994 3514133\n", + "1996 3540251\n", + "2009 3558474\n", + "2004 3572810\n", + "1997 3624129\n", + "2015 3647492\n", + "2024 3691245\n", + "2000 3808190\n", + "2005 3831409\n", + "1999 3914003\n", + "2010 3992174\n", + "2013 4176872\n", + "1986 5050543\n", + "1990 5214494\n", + "1989 5461328\n", + "dtype: int64" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "year = []\n", + "yearly_incidence = []\n", + "for week1, week2 in zip (first_sept_week[:- 1 ],first_sept_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) \n", + "yearly_incidence.sort_values()" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "yearly_incidence.hist()\n", + "plt.title(\"Distribution of Yearly Incidence\")\n", + "plt.xlabel(\"Incidence\")\n", + "plt.ylabel(\"Count\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Strongest epidemic year: 1989\n", + "Weakest epidemic year: 2021\n" + ] + } + ], + "source": [ + "strongest = yearly_incidence.idxmax()\n", + "weakest = yearly_incidence.idxmin()\n", + "print(f\"Strongest epidemic year: {strongest}\")\n", + "print(f\"Weakest epidemic year: {weakest}\")" + ] + }, + { + "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 +} diff --git a/module3/exo2/exercice.ipynb b/module3/exo2/exercice.ipynb index 898cf8b..d90c1e0 100644 --- a/module3/exo2/exercice.ipynb +++ b/module3/exo2/exercice.ipynb @@ -4,19 +4,19 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## The incidence of chickenpox in France (2016-2024)" + "## The incidence of chickenpox in France" ] }, { "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." + "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. " ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -41,18 +41,17 @@ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import os\n", - "from isoweek import Week\n", - "from datetime import datetime, timedelta" + "from isoweek import Week" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "data_url = \"https://www.sentiweb.fr/datasets/all/inc-7-RDD-ds2.csv\"\n", - "filename = \"inc-7-PAY-ds2.csv\"" + "data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\" \n", + "filename = \"inc-7-PAY-ds3.csv\"" ] }, { @@ -64,7 +63,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -83,8 +82,10 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": {}, + "execution_count": 13, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -108,376 +109,407 @@ " \n", " \n", " week\n", - " geo_insee\n", " indicator\n", " inc\n", - " inc100\n", - " inc_up\n", " inc_low\n", - " inc100_up\n", + " inc_up\n", + " inc100\n", " inc100_low\n", + " inc100_up\n", + " geo_insee\n", + " geo_name\n", " \n", " \n", " \n", " \n", " 0\n", - " 201601\n", - " 44\n", - " 7\n", - " 574\n", - " 10\n", - " 861\n", - " 287\n", - " 15\n", - " 5\n", + " 202524\n", + " 3\n", + " 22816\n", + " 17621.0\n", + " 28011.0\n", + " 34\n", + " 26.0\n", + " 42.0\n", + " FR\n", + " France\n", " \n", " \n", " 1\n", - " 201601\n", - " 75\n", - " 7\n", - " 1513\n", - " 25\n", - " 2099\n", - " 927\n", - " 35\n", - " 15\n", + " 202523\n", + " 3\n", + " 24564\n", + " 19382.0\n", + " 29746.0\n", + " 37\n", + " 29.0\n", + " 45.0\n", + " FR\n", + " France\n", " \n", " \n", " 2\n", - " 201601\n", - " 84\n", - " 7\n", - " 2363\n", - " 30\n", - " 2958\n", - " 1768\n", - " 37\n", - " 22\n", + " 202522\n", + " 3\n", + " 18755\n", + " 14333.0\n", + " 23177.0\n", + " 28\n", + " 21.0\n", + " 35.0\n", + " FR\n", + " France\n", " \n", " \n", " 3\n", - " 201601\n", - " 27\n", - " 7\n", - " 686\n", - " 24\n", - " 1058\n", - " 314\n", - " 36\n", - " 11\n", + " 202521\n", + " 3\n", + " 23760\n", + " 18671.0\n", + " 28849.0\n", + " 35\n", + " 27.0\n", + " 43.0\n", + " FR\n", + " France\n", " \n", " \n", " 4\n", - " 201601\n", - " 53\n", - " 7\n", - " 532\n", - " 16\n", - " 874\n", - " 190\n", - " 26\n", - " 6\n", + " 202520\n", + " 3\n", + " 20265\n", + " 15814.0\n", + " 24716.0\n", + " 30\n", + " 23.0\n", + " 37.0\n", + " FR\n", + " France\n", " \n", " \n", " 5\n", - " 201601\n", - " 24\n", - " 7\n", - " 394\n", - " 15\n", - " 625\n", - " 163\n", + " 202519\n", + " 3\n", + " 16264\n", + " 12394.0\n", + " 20134.0\n", " 24\n", - " 6\n", + " 18.0\n", + " 30.0\n", + " FR\n", + " France\n", " \n", " \n", " 6\n", - " 201601\n", - " 94\n", - " 7\n", - " 38\n", - " 12\n", - " 82\n", - " 0\n", - " 25\n", - " 0\n", + " 202518\n", + " 3\n", + " 18115\n", + " 13975.0\n", + " 22255.0\n", + " 27\n", + " 21.0\n", + " 33.0\n", + " FR\n", + " France\n", " \n", " \n", " 7\n", - " 201601\n", - " 11\n", - " 7\n", - " 3030\n", - " 25\n", - " 3788\n", - " 2272\n", - " 31\n", - " 19\n", + " 202517\n", + " 3\n", + " 22150\n", + " 17291.0\n", + " 27009.0\n", + " 33\n", + " 26.0\n", + " 40.0\n", + " FR\n", + " France\n", " \n", " \n", " 8\n", - " 201601\n", - " 76\n", - " 7\n", - " 842\n", - " 14\n", - " 1307\n", - " 377\n", - " 22\n", - " 6\n", + " 202516\n", + " 3\n", + " 28564\n", + " 22550.0\n", + " 34578.0\n", + " 43\n", + " 34.0\n", + " 52.0\n", + " FR\n", + " France\n", " \n", " \n", " 9\n", - " 201601\n", - " 32\n", - " 7\n", - " 2100\n", - " 34\n", - " 2711\n", - " 1489\n", - " 44\n", - " 24\n", + " 202515\n", + " 3\n", + " 35721\n", + " 29592.0\n", + " 41850.0\n", + " 53\n", + " 44.0\n", + " 62.0\n", + " FR\n", + " France\n", " \n", " \n", " 10\n", - " 201601\n", - " 28\n", - " 7\n", - " 418\n", - " 12\n", - " 687\n", - " 149\n", - " 20\n", - " 4\n", + " 202514\n", + " 3\n", + " 37579\n", + " 31232.0\n", + " 43926.0\n", + " 56\n", + " 47.0\n", + " 65.0\n", + " FR\n", + " France\n", " \n", " \n", " 11\n", - " 201601\n", - " 52\n", - " 7\n", - " 1029\n", - " 27\n", - " 1577\n", - " 481\n", - " 42\n", - " 13\n", + " 202513\n", + " 3\n", + " 39673\n", + " 33686.0\n", + " 45660.0\n", + " 59\n", + " 50.0\n", + " 68.0\n", + " FR\n", + " France\n", " \n", " \n", " 12\n", - " 201601\n", - " 93\n", - " 7\n", - " 1053\n", - " 21\n", - " 1457\n", - " 649\n", - " 29\n", - " 13\n", + " 202512\n", + " 3\n", + " 52543\n", + " 45627.0\n", + " 59459.0\n", + " 78\n", + " 68.0\n", + " 88.0\n", + " FR\n", + " France\n", " \n", " \n", " 13\n", - " 201602\n", - " 44\n", - " 7\n", - " 772\n", - " 14\n", - " 1122\n", - " 422\n", - " 20\n", - " 7\n", + " 202511\n", + " 3\n", + " 59469\n", + " 52154.0\n", + " 66784.0\n", + " 89\n", + " 78.0\n", + " 100.0\n", + " FR\n", + " France\n", " \n", " \n", " 14\n", - " 201602\n", - " 75\n", - " 7\n", - " 657\n", - " 11\n", - " 1016\n", - " 298\n", - " 17\n", - " 5\n", + " 202510\n", + " 3\n", + " 60334\n", + " 53048.0\n", + " 67620.0\n", + " 90\n", + " 79.0\n", + " 101.0\n", + " FR\n", + " France\n", " \n", " \n", " 15\n", - " 201602\n", - " 84\n", - " 7\n", - " 1486\n", - " 19\n", - " 1928\n", - " 1044\n", - " 24\n", - " 13\n", + " 202509\n", + " 3\n", + " 84531\n", + " 74994.0\n", + " 94068.0\n", + " 126\n", + " 112.0\n", + " 140.0\n", + " FR\n", + " France\n", " \n", " \n", " 16\n", - " 201602\n", - " 27\n", - " 7\n", - " 442\n", - " 15\n", - " 727\n", - " 157\n", - " 25\n", - " 5\n", + " 202508\n", + " 3\n", + " 136020\n", + " 124824.0\n", + " 147216.0\n", + " 203\n", + " 186.0\n", + " 220.0\n", + " FR\n", + " France\n", " \n", " \n", " 17\n", - " 201602\n", - " 53\n", - " 7\n", - " 444\n", - " 13\n", - " 744\n", - " 144\n", - " 22\n", - " 4\n", + " 202507\n", + " 3\n", + " 208952\n", + " 195988.0\n", + " 221916.0\n", + " 312\n", + " 293.0\n", + " 331.0\n", + " FR\n", + " France\n", " \n", " \n", " 18\n", - " 201602\n", - " 24\n", - " 7\n", - " 402\n", - " 15\n", - " 627\n", - " 177\n", - " 24\n", - " 7\n", + " 202506\n", + " 3\n", + " 273519\n", + " 258159.0\n", + " 288879.0\n", + " 408\n", + " 385.0\n", + " 431.0\n", + " FR\n", + " France\n", " \n", " \n", " 19\n", - " 201602\n", - " 94\n", - " 7\n", - " 12\n", - " 4\n", - " 42\n", - " 0\n", - " 13\n", - " 0\n", + " 202505\n", + " 3\n", + " 334395\n", + " 318416.0\n", + " 350374.0\n", + " 499\n", + " 475.0\n", + " 523.0\n", + " FR\n", + " France\n", " \n", " \n", " 20\n", - " 201602\n", - " 11\n", - " 7\n", - " 1745\n", - " 14\n", - " 2317\n", - " 1173\n", - " 19\n", - " 10\n", + " 202504\n", + " 3\n", + " 350043\n", + " 332885.0\n", + " 367201.0\n", + " 522\n", + " 496.0\n", + " 548.0\n", + " FR\n", + " France\n", " \n", " \n", " 21\n", - " 201602\n", - " 76\n", - " 7\n", - " 1101\n", - " 19\n", - " 1644\n", - " 558\n", - " 28\n", - " 10\n", + " 202503\n", + " 3\n", + " 252772\n", + " 238917.0\n", + " 266627.0\n", + " 377\n", + " 356.0\n", + " 398.0\n", + " FR\n", + " France\n", " \n", " \n", " 22\n", - " 201602\n", - " 32\n", - " 7\n", - " 1249\n", - " 20\n", - " 1720\n", - " 778\n", - " 28\n", - " 13\n", + " 202502\n", + " 3\n", + " 257247\n", + " 242991.0\n", + " 271503.0\n", + " 384\n", + " 363.0\n", + " 405.0\n", + " FR\n", + " France\n", " \n", " \n", " 23\n", - " 201602\n", - " 28\n", - " 7\n", - " 1064\n", - " 31\n", - " 1519\n", - " 609\n", - " 44\n", - " 18\n", + " 202501\n", + " 3\n", + " 231549\n", + " 214627.0\n", + " 248471.0\n", + " 345\n", + " 320.0\n", + " 370.0\n", + " FR\n", + " France\n", " \n", " \n", " 24\n", - " 201602\n", - " 52\n", - " 7\n", - " 408\n", - " 11\n", - " 708\n", - " 108\n", - " 19\n", + " 202452\n", " 3\n", + " 201726\n", + " 185870.0\n", + " 217582.0\n", + " 302\n", + " 278.0\n", + " 326.0\n", + " FR\n", + " France\n", " \n", " \n", " 25\n", - " 201602\n", - " 93\n", - " 7\n", - " 1570\n", - " 31\n", - " 2099\n", - " 1041\n", - " 42\n", - " 21\n", + " 202451\n", + " 3\n", + " 201697\n", + " 187843.0\n", + " 215551.0\n", + " 302\n", + " 281.0\n", + " 323.0\n", + " FR\n", + " France\n", " \n", " \n", " 26\n", - " 201603\n", - " 44\n", - " 7\n", - " 985\n", - " 17\n", - " 1442\n", - " 528\n", - " 25\n", - " 9\n", + " 202450\n", + " 3\n", + " 136694\n", + " 126369.0\n", + " 147019.0\n", + " 205\n", + " 190.0\n", + " 220.0\n", + " FR\n", + " France\n", " \n", " \n", " 27\n", - " 201603\n", - " 75\n", - " 7\n", - " 2070\n", - " 34\n", - " 2769\n", - " 1371\n", - " 46\n", - " 23\n", + " 202449\n", + " 3\n", + " 108487\n", + " 99037.0\n", + " 117937.0\n", + " 163\n", + " 149.0\n", + " 177.0\n", + " FR\n", + " France\n", " \n", " \n", " 28\n", - " 201603\n", - " 84\n", - " 7\n", - " 2258\n", - " 28\n", - " 2810\n", - " 1706\n", - " 35\n", - " 21\n", + " 202448\n", + " 3\n", + " 87381\n", + " 78687.0\n", + " 96075.0\n", + " 131\n", + " 118.0\n", + " 144.0\n", + " FR\n", + " France\n", " \n", " \n", " 29\n", - " 201603\n", - " 27\n", - " 7\n", - " 1009\n", - " 35\n", - " 1538\n", - " 480\n", - " 53\n", - " 17\n", + " 202447\n", + " 3\n", + " 76286\n", + " 67626.0\n", + " 84946.0\n", + " 114\n", + " 101.0\n", + " 127.0\n", + " FR\n", + " France\n", " \n", " \n", " ...\n", @@ -490,511 +522,542 @@ " ...\n", " ...\n", " ...\n", + " ...\n", " \n", " \n", - " 6379\n", - " 202522\n", - " 32\n", - " 7\n", - " 30\n", - " 0\n", - " 195\n", - " 0\n", + " 2090\n", + " 198521\n", " 3\n", - " 0\n", + " 26096\n", + " 19621.0\n", + " 32571.0\n", + " 47\n", + " 35.0\n", + " 59.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6380\n", - " 202522\n", - " 28\n", - " 7\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2091\n", + " 198520\n", + " 3\n", + " 27896\n", + " 20885.0\n", + " 34907.0\n", + " 51\n", + " 38.0\n", + " 64.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6381\n", - " 202522\n", - " 52\n", - " 7\n", - " 198\n", - " 5\n", - " 528\n", - " 0\n", - " 13\n", - " 0\n", + " 2092\n", + " 198519\n", + " 3\n", + " 43154\n", + " 32821.0\n", + " 53487.0\n", + " 78\n", + " 59.0\n", + " 97.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6382\n", - " 202522\n", - " 93\n", - " 7\n", - " 1254\n", - " 24\n", - " 3098\n", - " 0\n", - " 59\n", - " 0\n", + " 2093\n", + " 198518\n", + " 3\n", + " 40555\n", + " 29935.0\n", + " 51175.0\n", + " 74\n", + " 55.0\n", + " 93.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6383\n", - " 202523\n", - " 44\n", - " 7\n", - " 413\n", - " 7\n", - " 1090\n", - " 0\n", - " 19\n", - " 0\n", + " 2094\n", + " 198517\n", + " 3\n", + " 34053\n", + " 24366.0\n", + " 43740.0\n", + " 62\n", + " 44.0\n", + " 80.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6384\n", - " 202523\n", - " 75\n", - " 7\n", - " 442\n", - " 7\n", - " 1117\n", - " 0\n", - " 18\n", - " 0\n", + " 2095\n", + " 198516\n", + " 3\n", + " 50362\n", + " 36451.0\n", + " 64273.0\n", + " 91\n", + " 66.0\n", + " 116.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6385\n", - " 202523\n", - " 84\n", - " 7\n", - " 1148\n", - " 14\n", - " 2156\n", - " 140\n", - " 26\n", - " 2\n", + " 2096\n", + " 198515\n", + " 3\n", + " 63881\n", + " 45538.0\n", + " 82224.0\n", + " 116\n", + " 83.0\n", + " 149.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6386\n", - " 202523\n", - " 27\n", - " 7\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2097\n", + " 198514\n", + " 3\n", + " 134545\n", + " 114400.0\n", + " 154690.0\n", + " 244\n", + " 207.0\n", + " 281.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6387\n", - " 202523\n", - " 53\n", - " 7\n", - " 143\n", - " 4\n", - " 394\n", - " 0\n", - " 11\n", - " 0\n", + " 2098\n", + " 198513\n", + " 3\n", + " 197206\n", + " 176080.0\n", + " 218332.0\n", + " 357\n", + " 319.0\n", + " 395.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6388\n", - " 202523\n", - " 24\n", - " 7\n", - " 272\n", - " 10\n", - " 667\n", - " 0\n", - " 25\n", - " 0\n", + " 2099\n", + " 198512\n", + " 3\n", + " 245240\n", + " 223304.0\n", + " 267176.0\n", + " 445\n", + " 405.0\n", + " 485.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6389\n", - " 202523\n", - " 94\n", - " 7\n", - " 37\n", - " 10\n", - " 104\n", - " 0\n", - " 29\n", - " 0\n", + " 2100\n", + " 198511\n", + " 3\n", + " 276205\n", + " 252399.0\n", + " 300011.0\n", + " 501\n", + " 458.0\n", + " 544.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6390\n", - " 202523\n", - " 11\n", - " 7\n", - " 905\n", - " 7\n", - " 1763\n", - " 47\n", - " 14\n", - " 0\n", + " 2101\n", + " 198510\n", + " 3\n", + " 353231\n", + " 326279.0\n", + " 380183.0\n", + " 640\n", + " 591.0\n", + " 689.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6391\n", - " 202523\n", - " 76\n", - " 7\n", - " 75\n", - " 1\n", - " 435\n", - " 0\n", - " 7\n", - " 0\n", + " 2102\n", + " 198509\n", + " 3\n", + " 369895\n", + " 341109.0\n", + " 398681.0\n", + " 670\n", + " 618.0\n", + " 722.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6392\n", - " 202523\n", - " 32\n", - " 7\n", - " 527\n", - " 9\n", - " 1226\n", - " 0\n", - " 20\n", - " 0\n", + " 2103\n", + " 198508\n", + " 3\n", + " 389886\n", + " 359529.0\n", + " 420243.0\n", + " 707\n", + " 652.0\n", + " 762.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6393\n", - " 202523\n", - " 28\n", - " 7\n", - " 108\n", + " 2104\n", + " 198507\n", " 3\n", - " 321\n", - " 0\n", - " 9\n", - " 0\n", + " 471852\n", + " 432599.0\n", + " 511105.0\n", + " 855\n", + " 784.0\n", + " 926.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6394\n", - " 202523\n", - " 52\n", - " 7\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2105\n", + " 198506\n", + " 3\n", + " 565825\n", + " 518011.0\n", + " 613639.0\n", + " 1026\n", + " 939.0\n", + " 1113.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6395\n", - " 202523\n", - " 93\n", - " 7\n", - " 336\n", - " 6\n", - " 1130\n", - " 0\n", - " 22\n", - " 0\n", + " 2106\n", + " 198505\n", + " 3\n", + " 637302\n", + " 592795.0\n", + " 681809.0\n", + " 1155\n", + " 1074.0\n", + " 1236.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6396\n", - " 202524\n", - " 44\n", - " 7\n", - " 196\n", + " 2107\n", + " 198504\n", " 3\n", - " 741\n", - " 0\n", - " 13\n", - " 0\n", + " 424937\n", + " 390794.0\n", + " 459080.0\n", + " 770\n", + " 708.0\n", + " 832.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6397\n", - " 202524\n", - " 75\n", - " 7\n", - " 144\n", - " 2\n", - " 516\n", - " 0\n", - " 8\n", - " 0\n", + " 2108\n", + " 198503\n", + " 3\n", + " 213901\n", + " 174689.0\n", + " 253113.0\n", + " 388\n", + " 317.0\n", + " 459.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6398\n", - " 202524\n", - " 84\n", - " 7\n", - " 824\n", - " 10\n", - " 1745\n", - " 0\n", - " 21\n", - " 0\n", + " 2109\n", + " 198502\n", + " 3\n", + " 97586\n", + " 80949.0\n", + " 114223.0\n", + " 177\n", + " 147.0\n", + " 207.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6399\n", - " 202524\n", - " 27\n", - " 7\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2110\n", + " 198501\n", + " 3\n", + " 85489\n", + " 65918.0\n", + " 105060.0\n", + " 155\n", + " 120.0\n", + " 190.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6400\n", - " 202524\n", - " 53\n", - " 7\n", - " 164\n", - " 5\n", - " 430\n", - " 0\n", - " 12\n", - " 0\n", + " 2111\n", + " 198452\n", + " 3\n", + " 84830\n", + " 60602.0\n", + " 109058.0\n", + " 154\n", + " 110.0\n", + " 198.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6401\n", - " 202524\n", - " 24\n", - " 7\n", - " 710\n", - " 27\n", - " 1423\n", - " 0\n", - " 54\n", - " 0\n", + " 2112\n", + " 198451\n", + " 3\n", + " 101726\n", + " 80242.0\n", + " 123210.0\n", + " 185\n", + " 146.0\n", + " 224.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6402\n", - " 202524\n", - " 94\n", - " 7\n", - " 28\n", - " 8\n", - " 94\n", - " 0\n", - " 26\n", - " 0\n", + " 2113\n", + " 198450\n", + " 3\n", + " 123680\n", + " 101401.0\n", + " 145959.0\n", + " 225\n", + " 184.0\n", + " 266.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6403\n", - " 202524\n", - " 11\n", - " 7\n", - " 913\n", - " 7\n", - " 1946\n", - " 0\n", - " 16\n", - " 0\n", + " 2114\n", + " 198449\n", + " 3\n", + " 101073\n", + " 81684.0\n", + " 120462.0\n", + " 184\n", + " 149.0\n", + " 219.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6404\n", - " 202524\n", - " 76\n", - " 7\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2115\n", + " 198448\n", + " 3\n", + " 78620\n", + " 60634.0\n", + " 96606.0\n", + " 143\n", + " 110.0\n", + " 176.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6405\n", - " 202524\n", - " 32\n", - " 7\n", - " 146\n", - " 2\n", - " 507\n", - " 0\n", - " 8\n", - " 0\n", + " 2116\n", + " 198447\n", + " 3\n", + " 72029\n", + " 54274.0\n", + " 89784.0\n", + " 131\n", + " 99.0\n", + " 163.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6406\n", - " 202524\n", - " 28\n", - " 7\n", - " 140\n", - " 4\n", - " 441\n", - " 0\n", - " 13\n", - " 0\n", + " 2117\n", + " 198446\n", + " 3\n", + " 87330\n", + " 67686.0\n", + " 106974.0\n", + " 159\n", + " 123.0\n", + " 195.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6407\n", - " 202524\n", - " 52\n", - " 7\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2118\n", + " 198445\n", + " 3\n", + " 135223\n", + " 101414.0\n", + " 169032.0\n", + " 246\n", + " 184.0\n", + " 308.0\n", + " FR\n", + " France\n", " \n", " \n", - " 6408\n", - " 202524\n", - " 93\n", - " 7\n", - " 319\n", - " 6\n", - " 995\n", - " 0\n", - " 19\n", - " 0\n", + " 2119\n", + " 198444\n", + " 3\n", + " 68422\n", + " 20056.0\n", + " 116788.0\n", + " 125\n", + " 37.0\n", + " 213.0\n", + " FR\n", + " France\n", " \n", " \n", "\n", - "

6409 rows × 9 columns

\n", + "

2119 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", + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202524 3 22816 17621.0 28011.0 34 26.0 \n", + "1 202523 3 24564 19382.0 29746.0 37 29.0 \n", + "2 202522 3 18755 14333.0 23177.0 28 21.0 \n", + "3 202521 3 23760 18671.0 28849.0 35 27.0 \n", + "4 202520 3 20265 15814.0 24716.0 30 23.0 \n", + "5 202519 3 16264 12394.0 20134.0 24 18.0 \n", + "6 202518 3 18115 13975.0 22255.0 27 21.0 \n", + "7 202517 3 22150 17291.0 27009.0 33 26.0 \n", + "8 202516 3 28564 22550.0 34578.0 43 34.0 \n", + "9 202515 3 35721 29592.0 41850.0 53 44.0 \n", + "10 202514 3 37579 31232.0 43926.0 56 47.0 \n", + "11 202513 3 39673 33686.0 45660.0 59 50.0 \n", + "12 202512 3 52543 45627.0 59459.0 78 68.0 \n", + "13 202511 3 59469 52154.0 66784.0 89 78.0 \n", + "14 202510 3 60334 53048.0 67620.0 90 79.0 \n", + "15 202509 3 84531 74994.0 94068.0 126 112.0 \n", + "16 202508 3 136020 124824.0 147216.0 203 186.0 \n", + "17 202507 3 208952 195988.0 221916.0 312 293.0 \n", + "18 202506 3 273519 258159.0 288879.0 408 385.0 \n", + "19 202505 3 334395 318416.0 350374.0 499 475.0 \n", + "20 202504 3 350043 332885.0 367201.0 522 496.0 \n", + "21 202503 3 252772 238917.0 266627.0 377 356.0 \n", + "22 202502 3 257247 242991.0 271503.0 384 363.0 \n", + "23 202501 3 231549 214627.0 248471.0 345 320.0 \n", + "24 202452 3 201726 185870.0 217582.0 302 278.0 \n", + "25 202451 3 201697 187843.0 215551.0 302 281.0 \n", + "26 202450 3 136694 126369.0 147019.0 205 190.0 \n", + "27 202449 3 108487 99037.0 117937.0 163 149.0 \n", + "28 202448 3 87381 78687.0 96075.0 131 118.0 \n", + "29 202447 3 76286 67626.0 84946.0 114 101.0 \n", + "... ... ... ... ... ... ... ... \n", + "2090 198521 3 26096 19621.0 32571.0 47 35.0 \n", + "2091 198520 3 27896 20885.0 34907.0 51 38.0 \n", + "2092 198519 3 43154 32821.0 53487.0 78 59.0 \n", + "2093 198518 3 40555 29935.0 51175.0 74 55.0 \n", + "2094 198517 3 34053 24366.0 43740.0 62 44.0 \n", + "2095 198516 3 50362 36451.0 64273.0 91 66.0 \n", + "2096 198515 3 63881 45538.0 82224.0 116 83.0 \n", + "2097 198514 3 134545 114400.0 154690.0 244 207.0 \n", + "2098 198513 3 197206 176080.0 218332.0 357 319.0 \n", + "2099 198512 3 245240 223304.0 267176.0 445 405.0 \n", + "2100 198511 3 276205 252399.0 300011.0 501 458.0 \n", + "2101 198510 3 353231 326279.0 380183.0 640 591.0 \n", + "2102 198509 3 369895 341109.0 398681.0 670 618.0 \n", + "2103 198508 3 389886 359529.0 420243.0 707 652.0 \n", + "2104 198507 3 471852 432599.0 511105.0 855 784.0 \n", + "2105 198506 3 565825 518011.0 613639.0 1026 939.0 \n", + "2106 198505 3 637302 592795.0 681809.0 1155 1074.0 \n", + "2107 198504 3 424937 390794.0 459080.0 770 708.0 \n", + "2108 198503 3 213901 174689.0 253113.0 388 317.0 \n", + "2109 198502 3 97586 80949.0 114223.0 177 147.0 \n", + "2110 198501 3 85489 65918.0 105060.0 155 120.0 \n", + "2111 198452 3 84830 60602.0 109058.0 154 110.0 \n", + "2112 198451 3 101726 80242.0 123210.0 185 146.0 \n", + "2113 198450 3 123680 101401.0 145959.0 225 184.0 \n", + "2114 198449 3 101073 81684.0 120462.0 184 149.0 \n", + "2115 198448 3 78620 60634.0 96606.0 143 110.0 \n", + "2116 198447 3 72029 54274.0 89784.0 131 99.0 \n", + "2117 198446 3 87330 67686.0 106974.0 159 123.0 \n", + "2118 198445 3 135223 101414.0 169032.0 246 184.0 \n", + "2119 198444 3 68422 20056.0 116788.0 125 37.0 \n", "\n", - " inc100_low \n", - "0 5 \n", - "1 15 \n", - "2 22 \n", - "3 11 \n", - "4 6 \n", - "5 6 \n", - "6 0 \n", - "7 19 \n", - "8 6 \n", - "9 24 \n", - "10 4 \n", - "11 13 \n", - "12 13 \n", - "13 7 \n", - "14 5 \n", - "15 13 \n", - "16 5 \n", - "17 4 \n", - "18 7 \n", - "19 0 \n", - "20 10 \n", - "21 10 \n", - "22 13 \n", - "23 18 \n", - "24 3 \n", - "25 21 \n", - "26 9 \n", - "27 23 \n", - "28 21 \n", - "29 17 \n", - "... ... \n", - "6379 0 \n", - "6380 0 \n", - "6381 0 \n", - "6382 0 \n", - "6383 0 \n", - "6384 0 \n", - "6385 2 \n", - "6386 0 \n", - "6387 0 \n", - "6388 0 \n", - "6389 0 \n", - "6390 0 \n", - "6391 0 \n", - "6392 0 \n", - "6393 0 \n", - "6394 0 \n", - "6395 0 \n", - "6396 0 \n", - "6397 0 \n", - "6398 0 \n", - "6399 0 \n", - "6400 0 \n", - "6401 0 \n", - "6402 0 \n", - "6403 0 \n", - "6404 0 \n", - "6405 0 \n", - "6406 0 \n", - "6407 0 \n", - "6408 0 \n", + " inc100_up geo_insee geo_name \n", + "0 42.0 FR France \n", + "1 45.0 FR France \n", + "2 35.0 FR France \n", + "3 43.0 FR France \n", + "4 37.0 FR France \n", + "5 30.0 FR France \n", + "6 33.0 FR France \n", + "7 40.0 FR France \n", + "8 52.0 FR France \n", + "9 62.0 FR France \n", + "10 65.0 FR France \n", + "11 68.0 FR France \n", + "12 88.0 FR France \n", + "13 100.0 FR France \n", + "14 101.0 FR France \n", + "15 140.0 FR France \n", + "16 220.0 FR France \n", + "17 331.0 FR France \n", + "18 431.0 FR France \n", + "19 523.0 FR France \n", + "20 548.0 FR France \n", + "21 398.0 FR France \n", + "22 405.0 FR France \n", + "23 370.0 FR France \n", + "24 326.0 FR France \n", + "25 323.0 FR France \n", + "26 220.0 FR France \n", + "27 177.0 FR France \n", + "28 144.0 FR France \n", + "29 127.0 FR France \n", + "... ... ... ... \n", + "2090 59.0 FR France \n", + "2091 64.0 FR France \n", + "2092 97.0 FR France \n", + "2093 93.0 FR France \n", + "2094 80.0 FR France \n", + "2095 116.0 FR France \n", + "2096 149.0 FR France \n", + "2097 281.0 FR France \n", + "2098 395.0 FR France \n", + "2099 485.0 FR France \n", + "2100 544.0 FR France \n", + "2101 689.0 FR France \n", + "2102 722.0 FR France \n", + "2103 762.0 FR France \n", + "2104 926.0 FR France \n", + "2105 1113.0 FR France \n", + "2106 1236.0 FR France \n", + "2107 832.0 FR France \n", + "2108 459.0 FR France \n", + "2109 207.0 FR France \n", + "2110 190.0 FR France \n", + "2111 198.0 FR France \n", + "2112 224.0 FR France \n", + "2113 266.0 FR France \n", + "2114 219.0 FR France \n", + "2115 176.0 FR France \n", + "2116 163.0 FR France \n", + "2117 195.0 FR France \n", + "2118 308.0 FR France \n", + "2119 213.0 FR France \n", "\n", - "[6409 rows x 9 columns]" + "[2119 rows x 10 columns]" ] }, - "execution_count": 30, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "raw_data[raw_data.isnull().any(axis=1)]\n", - "raw_data = raw_data.dropna()\n", - "raw_data" + "raw_data[raw_data.isnull(). any (axis= 1 )] \n", + "data = raw_data.dropna().copy()\n", + "data " ] }, { @@ -1006,16 +1069,32 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 22, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'isoweek' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\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 6\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPeriod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mday\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'W'\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;34m'period'\u001b[0m \u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mconvert_week\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myw\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0myw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;34m'week'\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPeriod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mday\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'W'\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;34m'period'\u001b[0m \u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mconvert_week\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myw\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0myw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;34m'week'\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mconvert_week\u001b[0;34m(year_and_week_int)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0myear\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mint\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0myear_and_week_str\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;36m4\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mweek\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mint\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0myear_and_week_str\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;36m4\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----> 5\u001b[0;31m \u001b[0mw\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0misoweek\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mWeek\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myear\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweek\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPeriod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mday\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'W'\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'isoweek' is not defined" + ] + } + ], "source": [ - "def convert_week(yw):\n", - " y = int(str(yw)[:4])\n", - " w = int(str(yw)[4:])\n", - " return pd.Period(Week(y, w).monday(), 'W')\n", + "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'] = raw_data['week'].apply(convert_week)" + "data[ 'period' ] = [convert_week(yw) for yw in data[ 'week' ]] " ] }, { @@ -1027,11 +1106,41 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "KeyError", + "evalue": "'period'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2524\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2525\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 2526\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[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/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", + "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: 'period'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msorted_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_index\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0;34m'period'\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36mset_index\u001b[0;34m(self, keys, drop, append, inplace, verify_integrity)\u001b[0m\n\u001b[1;32m 3144\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3145\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3146\u001b[0;31m \u001b[0mlevel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mframe\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcol\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3147\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcol\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3148\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdrop\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/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2137\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\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 2138\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2139\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\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 2140\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2141\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\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/frame.py\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2144\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2145\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2146\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\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 2147\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2148\u001b[0m \u001b[0;31m# duplicate columns & possible reduce dimensionality\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/generic.py\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 1840\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1841\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\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[0;32m-> 1842\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1843\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1844\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/internals.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item, fastpath)\u001b[0m\n\u001b[1;32m 3841\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3842\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3843\u001b[0;31m \u001b[0mloc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3844\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3845\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\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;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2525\u001b[0m \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[1;32m 2526\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[0;32m-> 2527\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[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\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[0m\u001b[1;32m 2528\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2529\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\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/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", + "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: 'period'" + ] + } + ], "source": [ - "sorted_data = raw_data.set_index('period').sort_index()\n" + "sorted_data = data.set_index( 'period' ).sort_index() \n" ] }, { @@ -1043,7 +1152,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1059,33 +1168,9 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "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[0mtotals\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[0mw1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mw2\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart_weeks\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[0mstart_weeks\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_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msorted_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'inc'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mw2\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mseason_data\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[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mtotals\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mseason_data\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'" - ] - } - ], + "outputs": [], "source": [ "years = []\n", "totals = []\n", @@ -1100,26 +1185,9 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "Empty 'DataFrame': no numeric data to plot", - "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[0;32m----> 1\u001b[0;31m \u001b[0myearly_incidence\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'o-'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtitle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Annual Chickenpox Incidence'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Total incidence\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Year\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\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/plotting/_core.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)\u001b[0m\n\u001b[1;32m 2501\u001b[0m \u001b[0mcolormap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolormap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtable\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2502\u001b[0m \u001b[0mxerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msecondary_y\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2503\u001b[0;31m **kwds)\n\u001b[0m\u001b[1;32m 2504\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplot_series\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2505\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36mplot_series\u001b[0;34m(data, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)\u001b[0m\n\u001b[1;32m 1925\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1926\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msecondary_y\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1927\u001b[0;31m **kwds)\n\u001b[0m\u001b[1;32m 1928\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1929\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m_plot\u001b[0;34m(data, x, y, subplots, ax, kind, **kwds)\u001b[0m\n\u001b[1;32m 1727\u001b[0m \u001b[0mplot_obj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mklass\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubplots\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\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[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1728\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1729\u001b[0;31m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgenerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1730\u001b[0m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1731\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36mgenerate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 248\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mgenerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_args_adjust\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 250\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compute_plot_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 251\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_setup_subplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 252\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_plot\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/plotting/_core.py\u001b[0m in \u001b[0;36m_compute_plot_data\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 363\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_empty\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 364\u001b[0m raise TypeError('Empty {0!r}: no numeric data to '\n\u001b[0;32m--> 365\u001b[0;31m 'plot'.format(numeric_data.__class__.__name__))\n\u001b[0m\u001b[1;32m 366\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 367\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumeric_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: Empty 'DataFrame': no numeric data to plot" - ] - } - ], + "outputs": [], "source": [ "yearly_incidence.plot(style='o-', title='Annual Chickenpox Incidence')\n", "plt.ylabel(\"Total incidence\")\n", @@ -1130,22 +1198,9 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "yearly_incidence.hist()\n", "plt.title(\"Distribution of Yearly Incidence\")\n", @@ -1156,24 +1211,9 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "attempt to get argmax of an empty sequence", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mstrongest\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0myearly_incidence\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0midxmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mweakest\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0myearly_incidence\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0midxmin\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[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Strongest epidemic year: {strongest}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Weakest epidemic year: {weakest}\"\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;36midxmax\u001b[0;34m(self, axis, skipna, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1367\u001b[0m \"\"\"\n\u001b[1;32m 1368\u001b[0m \u001b[0mskipna\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalidate_argmax_with_skipna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mskipna\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1369\u001b[0;31m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnanops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnanargmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_values_from_object\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mskipna\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mskipna\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1370\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mi\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[0m\n\u001b[1;32m 1371\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnan\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/nanops.py\u001b[0m in \u001b[0;36m_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minvalid\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'ignore'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 77\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 78\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;31m# we want to transform an object array\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/nanops.py\u001b[0m in \u001b[0;36mnanargmax\u001b[0;34m(values, axis, skipna)\u001b[0m\n\u001b[1;32m 521\u001b[0m \"\"\"\n\u001b[1;32m 522\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_get_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mskipna\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfill_value_typ\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'-inf'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 523\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 524\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_maybe_arg_null_out\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mskipna\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 525\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mValueError\u001b[0m: attempt to get argmax of an empty sequence" - ] - } - ], + "outputs": [], "source": [ "strongest = yearly_incidence.idxmax()\n", "weakest = yearly_incidence.idxmin()\n", -- 2.18.1