From 73f8dfaa38dac098065d41f8fedace34238f82b8 Mon Sep 17 00:00:00 2001
From: 082aa0aa9507b80b621099010e33de9d
<082aa0aa9507b80b621099010e33de9d@app-learninglab.inria.fr>
Date: Thu, 27 Jun 2024 13:05:19 +0000
Subject: [PATCH] ddd
---
module3/exo2/exercice.ipynb | 1258 ++++++++++++++++++++++++++++++++++-
1 file changed, 1255 insertions(+), 3 deletions(-)
diff --git a/module3/exo2/exercice.ipynb b/module3/exo2/exercice.ipynb
index 0bbbe37..76bf1a2 100644
--- a/module3/exo2/exercice.ipynb
+++ b/module3/exo2/exercice.ipynb
@@ -1,5 +1,1258 @@
{
- "cells": [],
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " week | \n",
+ " indicator | \n",
+ " inc | \n",
+ " inc_low | \n",
+ " inc_up | \n",
+ " inc100 | \n",
+ " inc100_low | \n",
+ " inc100_up | \n",
+ " geo_insee | \n",
+ " geo_name | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 202425 | \n",
+ " 7 | \n",
+ " 12129 | \n",
+ " 8130 | \n",
+ " 16128 | \n",
+ " 18 | \n",
+ " 12 | \n",
+ " 24 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 202424 | \n",
+ " 7 | \n",
+ " 12731 | \n",
+ " 9438 | \n",
+ " 16024 | \n",
+ " 19 | \n",
+ " 14 | \n",
+ " 24 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 202423 | \n",
+ " 7 | \n",
+ " 14657 | \n",
+ " 11339 | \n",
+ " 17975 | \n",
+ " 22 | \n",
+ " 17 | \n",
+ " 27 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 202422 | \n",
+ " 7 | \n",
+ " 11628 | \n",
+ " 8361 | \n",
+ " 14895 | \n",
+ " 17 | \n",
+ " 12 | \n",
+ " 22 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 202421 | \n",
+ " 7 | \n",
+ " 9701 | \n",
+ " 6851 | \n",
+ " 12551 | \n",
+ " 15 | \n",
+ " 11 | \n",
+ " 19 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 202420 | \n",
+ " 7 | \n",
+ " 13661 | \n",
+ " 10209 | \n",
+ " 17113 | \n",
+ " 20 | \n",
+ " 15 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 202419 | \n",
+ " 7 | \n",
+ " 10083 | \n",
+ " 6413 | \n",
+ " 13753 | \n",
+ " 15 | \n",
+ " 9 | \n",
+ " 21 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 202418 | \n",
+ " 7 | \n",
+ " 13438 | \n",
+ " 9514 | \n",
+ " 17362 | \n",
+ " 20 | \n",
+ " 14 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 202417 | \n",
+ " 7 | \n",
+ " 15303 | \n",
+ " 11219 | \n",
+ " 19387 | \n",
+ " 23 | \n",
+ " 17 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 202416 | \n",
+ " 7 | \n",
+ " 18138 | \n",
+ " 13540 | \n",
+ " 22736 | \n",
+ " 27 | \n",
+ " 20 | \n",
+ " 34 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 202415 | \n",
+ " 7 | \n",
+ " 24929 | \n",
+ " 17315 | \n",
+ " 32543 | \n",
+ " 37 | \n",
+ " 26 | \n",
+ " 48 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 202414 | \n",
+ " 7 | \n",
+ " 16181 | \n",
+ " 12544 | \n",
+ " 19818 | \n",
+ " 24 | \n",
+ " 19 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 202413 | \n",
+ " 7 | \n",
+ " 18322 | \n",
+ " 14206 | \n",
+ " 22438 | \n",
+ " 27 | \n",
+ " 21 | \n",
+ " 33 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " 202412 | \n",
+ " 7 | \n",
+ " 12818 | \n",
+ " 9128 | \n",
+ " 16508 | \n",
+ " 19 | \n",
+ " 13 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 14 | \n",
+ " 202411 | \n",
+ " 7 | \n",
+ " 15973 | \n",
+ " 12400 | \n",
+ " 19546 | \n",
+ " 24 | \n",
+ " 19 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 15 | \n",
+ " 202410 | \n",
+ " 7 | \n",
+ " 14301 | \n",
+ " 10761 | \n",
+ " 17841 | \n",
+ " 21 | \n",
+ " 16 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 202409 | \n",
+ " 7 | \n",
+ " 14337 | \n",
+ " 10871 | \n",
+ " 17803 | \n",
+ " 21 | \n",
+ " 16 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 17 | \n",
+ " 202408 | \n",
+ " 7 | \n",
+ " 15899 | \n",
+ " 11991 | \n",
+ " 19807 | \n",
+ " 24 | \n",
+ " 18 | \n",
+ " 30 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 18 | \n",
+ " 202407 | \n",
+ " 7 | \n",
+ " 11294 | \n",
+ " 8226 | \n",
+ " 14362 | \n",
+ " 17 | \n",
+ " 12 | \n",
+ " 22 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 19 | \n",
+ " 202406 | \n",
+ " 7 | \n",
+ " 12174 | \n",
+ " 9020 | \n",
+ " 15328 | \n",
+ " 18 | \n",
+ " 13 | \n",
+ " 23 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 20 | \n",
+ " 202405 | \n",
+ " 7 | \n",
+ " 8814 | \n",
+ " 6110 | \n",
+ " 11518 | \n",
+ " 13 | \n",
+ " 9 | \n",
+ " 17 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 21 | \n",
+ " 202404 | \n",
+ " 7 | \n",
+ " 9504 | \n",
+ " 6566 | \n",
+ " 12442 | \n",
+ " 14 | \n",
+ " 10 | \n",
+ " 18 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 22 | \n",
+ " 202403 | \n",
+ " 7 | \n",
+ " 6948 | \n",
+ " 4633 | \n",
+ " 9263 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 13 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 23 | \n",
+ " 202402 | \n",
+ " 7 | \n",
+ " 7125 | \n",
+ " 4852 | \n",
+ " 9398 | \n",
+ " 11 | \n",
+ " 8 | \n",
+ " 14 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 24 | \n",
+ " 202401 | \n",
+ " 7 | \n",
+ " 13305 | \n",
+ " 9214 | \n",
+ " 17396 | \n",
+ " 20 | \n",
+ " 14 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 25 | \n",
+ " 202352 | \n",
+ " 7 | \n",
+ " 11636 | \n",
+ " 7354 | \n",
+ " 15918 | \n",
+ " 18 | \n",
+ " 12 | \n",
+ " 24 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 26 | \n",
+ " 202351 | \n",
+ " 7 | \n",
+ " 6912 | \n",
+ " 4227 | \n",
+ " 9597 | \n",
+ " 10 | \n",
+ " 6 | \n",
+ " 14 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 27 | \n",
+ " 202350 | \n",
+ " 7 | \n",
+ " 8799 | \n",
+ " 6215 | \n",
+ " 11383 | \n",
+ " 13 | \n",
+ " 9 | \n",
+ " 17 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 28 | \n",
+ " 202349 | \n",
+ " 7 | \n",
+ " 7817 | \n",
+ " 5362 | \n",
+ " 10272 | \n",
+ " 12 | \n",
+ " 8 | \n",
+ " 16 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 29 | \n",
+ " 202348 | \n",
+ " 7 | \n",
+ " 7351 | \n",
+ " 4749 | \n",
+ " 9953 | \n",
+ " 11 | \n",
+ " 7 | \n",
+ " 15 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 1721 | \n",
+ " 199126 | \n",
+ " 7 | \n",
+ " 17608 | \n",
+ " 11304 | \n",
+ " 23912 | \n",
+ " 31 | \n",
+ " 20 | \n",
+ " 42 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1722 | \n",
+ " 199125 | \n",
+ " 7 | \n",
+ " 16169 | \n",
+ " 10700 | \n",
+ " 21638 | \n",
+ " 28 | \n",
+ " 18 | \n",
+ " 38 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1723 | \n",
+ " 199124 | \n",
+ " 7 | \n",
+ " 16171 | \n",
+ " 10071 | \n",
+ " 22271 | \n",
+ " 28 | \n",
+ " 17 | \n",
+ " 39 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1724 | \n",
+ " 199123 | \n",
+ " 7 | \n",
+ " 11947 | \n",
+ " 7671 | \n",
+ " 16223 | \n",
+ " 21 | \n",
+ " 13 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1725 | \n",
+ " 199122 | \n",
+ " 7 | \n",
+ " 15452 | \n",
+ " 9953 | \n",
+ " 20951 | \n",
+ " 27 | \n",
+ " 17 | \n",
+ " 37 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1726 | \n",
+ " 199121 | \n",
+ " 7 | \n",
+ " 14903 | \n",
+ " 8975 | \n",
+ " 20831 | \n",
+ " 26 | \n",
+ " 16 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1727 | \n",
+ " 199120 | \n",
+ " 7 | \n",
+ " 19053 | \n",
+ " 12742 | \n",
+ " 25364 | \n",
+ " 34 | \n",
+ " 23 | \n",
+ " 45 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1728 | \n",
+ " 199119 | \n",
+ " 7 | \n",
+ " 16739 | \n",
+ " 11246 | \n",
+ " 22232 | \n",
+ " 29 | \n",
+ " 19 | \n",
+ " 39 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1729 | \n",
+ " 199118 | \n",
+ " 7 | \n",
+ " 21385 | \n",
+ " 13882 | \n",
+ " 28888 | \n",
+ " 38 | \n",
+ " 25 | \n",
+ " 51 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1730 | \n",
+ " 199117 | \n",
+ " 7 | \n",
+ " 13462 | \n",
+ " 8877 | \n",
+ " 18047 | \n",
+ " 24 | \n",
+ " 16 | \n",
+ " 32 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1731 | \n",
+ " 199116 | \n",
+ " 7 | \n",
+ " 14857 | \n",
+ " 10068 | \n",
+ " 19646 | \n",
+ " 26 | \n",
+ " 18 | \n",
+ " 34 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1732 | \n",
+ " 199115 | \n",
+ " 7 | \n",
+ " 13975 | \n",
+ " 9781 | \n",
+ " 18169 | \n",
+ " 25 | \n",
+ " 18 | \n",
+ " 32 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1733 | \n",
+ " 199114 | \n",
+ " 7 | \n",
+ " 12265 | \n",
+ " 7684 | \n",
+ " 16846 | \n",
+ " 22 | \n",
+ " 14 | \n",
+ " 30 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1734 | \n",
+ " 199113 | \n",
+ " 7 | \n",
+ " 9567 | \n",
+ " 6041 | \n",
+ " 13093 | \n",
+ " 17 | \n",
+ " 11 | \n",
+ " 23 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1735 | \n",
+ " 199112 | \n",
+ " 7 | \n",
+ " 10864 | \n",
+ " 7331 | \n",
+ " 14397 | \n",
+ " 19 | \n",
+ " 13 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1736 | \n",
+ " 199111 | \n",
+ " 7 | \n",
+ " 15574 | \n",
+ " 11184 | \n",
+ " 19964 | \n",
+ " 27 | \n",
+ " 19 | \n",
+ " 35 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1737 | \n",
+ " 199110 | \n",
+ " 7 | \n",
+ " 16643 | \n",
+ " 11372 | \n",
+ " 21914 | \n",
+ " 29 | \n",
+ " 20 | \n",
+ " 38 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1738 | \n",
+ " 199109 | \n",
+ " 7 | \n",
+ " 13741 | \n",
+ " 8780 | \n",
+ " 18702 | \n",
+ " 24 | \n",
+ " 15 | \n",
+ " 33 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1739 | \n",
+ " 199108 | \n",
+ " 7 | \n",
+ " 13289 | \n",
+ " 8813 | \n",
+ " 17765 | \n",
+ " 23 | \n",
+ " 15 | \n",
+ " 31 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1740 | \n",
+ " 199107 | \n",
+ " 7 | \n",
+ " 12337 | \n",
+ " 8077 | \n",
+ " 16597 | \n",
+ " 22 | \n",
+ " 15 | \n",
+ " 29 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1741 | \n",
+ " 199106 | \n",
+ " 7 | \n",
+ " 10877 | \n",
+ " 7013 | \n",
+ " 14741 | \n",
+ " 19 | \n",
+ " 12 | \n",
+ " 26 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1742 | \n",
+ " 199105 | \n",
+ " 7 | \n",
+ " 10442 | \n",
+ " 6544 | \n",
+ " 14340 | \n",
+ " 18 | \n",
+ " 11 | \n",
+ " 25 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1743 | \n",
+ " 199104 | \n",
+ " 7 | \n",
+ " 7913 | \n",
+ " 4563 | \n",
+ " 11263 | \n",
+ " 14 | \n",
+ " 8 | \n",
+ " 20 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1744 | \n",
+ " 199103 | \n",
+ " 7 | \n",
+ " 15387 | \n",
+ " 10484 | \n",
+ " 20290 | \n",
+ " 27 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1745 | \n",
+ " 199102 | \n",
+ " 7 | \n",
+ " 16277 | \n",
+ " 11046 | \n",
+ " 21508 | \n",
+ " 29 | \n",
+ " 20 | \n",
+ " 38 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1746 | \n",
+ " 199101 | \n",
+ " 7 | \n",
+ " 15565 | \n",
+ " 10271 | \n",
+ " 20859 | \n",
+ " 27 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1747 | \n",
+ " 199052 | \n",
+ " 7 | \n",
+ " 19375 | \n",
+ " 13295 | \n",
+ " 25455 | \n",
+ " 34 | \n",
+ " 23 | \n",
+ " 45 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1748 | \n",
+ " 199051 | \n",
+ " 7 | \n",
+ " 19080 | \n",
+ " 13807 | \n",
+ " 24353 | \n",
+ " 34 | \n",
+ " 25 | \n",
+ " 43 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1749 | \n",
+ " 199050 | \n",
+ " 7 | \n",
+ " 11079 | \n",
+ " 6660 | \n",
+ " 15498 | \n",
+ " 20 | \n",
+ " 12 | \n",
+ " 28 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1750 | \n",
+ " 199049 | \n",
+ " 7 | \n",
+ " 1143 | \n",
+ " 0 | \n",
+ " 2610 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 5 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1751 rows × 10 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " week indicator inc inc_low inc_up inc100 inc100_low \\\n",
+ "0 202425 7 12129 8130 16128 18 12 \n",
+ "1 202424 7 12731 9438 16024 19 14 \n",
+ "2 202423 7 14657 11339 17975 22 17 \n",
+ "3 202422 7 11628 8361 14895 17 12 \n",
+ "4 202421 7 9701 6851 12551 15 11 \n",
+ "5 202420 7 13661 10209 17113 20 15 \n",
+ "6 202419 7 10083 6413 13753 15 9 \n",
+ "7 202418 7 13438 9514 17362 20 14 \n",
+ "8 202417 7 15303 11219 19387 23 17 \n",
+ "9 202416 7 18138 13540 22736 27 20 \n",
+ "10 202415 7 24929 17315 32543 37 26 \n",
+ "11 202414 7 16181 12544 19818 24 19 \n",
+ "12 202413 7 18322 14206 22438 27 21 \n",
+ "13 202412 7 12818 9128 16508 19 13 \n",
+ "14 202411 7 15973 12400 19546 24 19 \n",
+ "15 202410 7 14301 10761 17841 21 16 \n",
+ "16 202409 7 14337 10871 17803 21 16 \n",
+ "17 202408 7 15899 11991 19807 24 18 \n",
+ "18 202407 7 11294 8226 14362 17 12 \n",
+ "19 202406 7 12174 9020 15328 18 13 \n",
+ "20 202405 7 8814 6110 11518 13 9 \n",
+ "21 202404 7 9504 6566 12442 14 10 \n",
+ "22 202403 7 6948 4633 9263 10 7 \n",
+ "23 202402 7 7125 4852 9398 11 8 \n",
+ "24 202401 7 13305 9214 17396 20 14 \n",
+ "25 202352 7 11636 7354 15918 18 12 \n",
+ "26 202351 7 6912 4227 9597 10 6 \n",
+ "27 202350 7 8799 6215 11383 13 9 \n",
+ "28 202349 7 7817 5362 10272 12 8 \n",
+ "29 202348 7 7351 4749 9953 11 7 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "1721 199126 7 17608 11304 23912 31 20 \n",
+ "1722 199125 7 16169 10700 21638 28 18 \n",
+ "1723 199124 7 16171 10071 22271 28 17 \n",
+ "1724 199123 7 11947 7671 16223 21 13 \n",
+ "1725 199122 7 15452 9953 20951 27 17 \n",
+ "1726 199121 7 14903 8975 20831 26 16 \n",
+ "1727 199120 7 19053 12742 25364 34 23 \n",
+ "1728 199119 7 16739 11246 22232 29 19 \n",
+ "1729 199118 7 21385 13882 28888 38 25 \n",
+ "1730 199117 7 13462 8877 18047 24 16 \n",
+ "1731 199116 7 14857 10068 19646 26 18 \n",
+ "1732 199115 7 13975 9781 18169 25 18 \n",
+ "1733 199114 7 12265 7684 16846 22 14 \n",
+ "1734 199113 7 9567 6041 13093 17 11 \n",
+ "1735 199112 7 10864 7331 14397 19 13 \n",
+ "1736 199111 7 15574 11184 19964 27 19 \n",
+ "1737 199110 7 16643 11372 21914 29 20 \n",
+ "1738 199109 7 13741 8780 18702 24 15 \n",
+ "1739 199108 7 13289 8813 17765 23 15 \n",
+ "1740 199107 7 12337 8077 16597 22 15 \n",
+ "1741 199106 7 10877 7013 14741 19 12 \n",
+ "1742 199105 7 10442 6544 14340 18 11 \n",
+ "1743 199104 7 7913 4563 11263 14 8 \n",
+ "1744 199103 7 15387 10484 20290 27 18 \n",
+ "1745 199102 7 16277 11046 21508 29 20 \n",
+ "1746 199101 7 15565 10271 20859 27 18 \n",
+ "1747 199052 7 19375 13295 25455 34 23 \n",
+ "1748 199051 7 19080 13807 24353 34 25 \n",
+ "1749 199050 7 11079 6660 15498 20 12 \n",
+ "1750 199049 7 1143 0 2610 2 0 \n",
+ "\n",
+ " inc100_up geo_insee geo_name \n",
+ "0 24 FR France \n",
+ "1 24 FR France \n",
+ "2 27 FR France \n",
+ "3 22 FR France \n",
+ "4 19 FR France \n",
+ "5 25 FR France \n",
+ "6 21 FR France \n",
+ "7 26 FR France \n",
+ "8 29 FR France \n",
+ "9 34 FR France \n",
+ "10 48 FR France \n",
+ "11 29 FR France \n",
+ "12 33 FR France \n",
+ "13 25 FR France \n",
+ "14 29 FR France \n",
+ "15 26 FR France \n",
+ "16 26 FR France \n",
+ "17 30 FR France \n",
+ "18 22 FR France \n",
+ "19 23 FR France \n",
+ "20 17 FR France \n",
+ "21 18 FR France \n",
+ "22 13 FR France \n",
+ "23 14 FR France \n",
+ "24 26 FR France \n",
+ "25 24 FR France \n",
+ "26 14 FR France \n",
+ "27 17 FR France \n",
+ "28 16 FR France \n",
+ "29 15 FR France \n",
+ "... ... ... ... \n",
+ "1721 42 FR France \n",
+ "1722 38 FR France \n",
+ "1723 39 FR France \n",
+ "1724 29 FR France \n",
+ "1725 37 FR France \n",
+ "1726 36 FR France \n",
+ "1727 45 FR France \n",
+ "1728 39 FR France \n",
+ "1729 51 FR France \n",
+ "1730 32 FR France \n",
+ "1731 34 FR France \n",
+ "1732 32 FR France \n",
+ "1733 30 FR France \n",
+ "1734 23 FR France \n",
+ "1735 25 FR France \n",
+ "1736 35 FR France \n",
+ "1737 38 FR France \n",
+ "1738 33 FR France \n",
+ "1739 31 FR France \n",
+ "1740 29 FR France \n",
+ "1741 26 FR France \n",
+ "1742 25 FR France \n",
+ "1743 20 FR France \n",
+ "1744 36 FR France \n",
+ "1745 38 FR France \n",
+ "1746 36 FR France \n",
+ "1747 45 FR France \n",
+ "1748 43 FR France \n",
+ "1749 28 FR France \n",
+ "1750 5 FR France \n",
+ "\n",
+ "[1751 rows x 10 columns]"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "import pandas as pd\n",
+ "import isoweek\n",
+ "\n",
+ "data_url = \"https://www.sentiweb.fr/datasets/all/inc-7-PAY.csv\"\n",
+ "raw_data = pd.read_csv(data_url, skiprows=1)\n",
+ "raw_data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " week | \n",
+ " indicator | \n",
+ " inc | \n",
+ " inc_low | \n",
+ " inc_up | \n",
+ " inc100 | \n",
+ " inc100_low | \n",
+ " inc100_up | \n",
+ " geo_insee | \n",
+ " geo_name | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [week, indicator, inc, inc_low, inc_up, inc100, inc100_low, inc100_up, geo_insee, geo_name]\n",
+ "Index: []"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data[raw_data.isnull().any(axis=1)]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "no data missing"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "convert data to year"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data = raw_data\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",
+ "data['period'] = [convert_week(yw) for yw in data['week']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sorted_data = data.set_index('period').sort_index()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#see some missing?\n",
+ "periods = sorted_data.index\n",
+ "for p1, p2 in zip(periods[:-1], periods[1:]):\n",
+ " delta = p2.to_timestamp() - p1.end_time\n",
+ " if delta > pd.Timedelta('1s'):\n",
+ " print(p1, p2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "1991-07-29/1991-08-04\n",
+ "1992-07-27/1992-08-02\n",
+ "1993-07-26/1993-08-01\n",
+ "1994-08-01/1994-08-07\n",
+ "1995-07-31/1995-08-06\n",
+ "1996-07-29/1996-08-04\n",
+ "1997-07-28/1997-08-03\n",
+ "1998-07-27/1998-08-02\n",
+ "1999-07-26/1999-08-01\n",
+ "2000-07-31/2000-08-06\n",
+ "2001-07-30/2001-08-05\n",
+ "2002-07-29/2002-08-04\n",
+ "2003-07-28/2003-08-03\n",
+ "2004-07-26/2004-08-01\n",
+ "2005-08-01/2005-08-07\n",
+ "2006-07-31/2006-08-06\n",
+ "2007-07-30/2007-08-05\n",
+ "2008-07-28/2008-08-03\n",
+ "2009-07-27/2009-08-02\n",
+ "2010-07-26/2010-08-01\n",
+ "2011-08-01/2011-08-07\n",
+ "2012-07-30/2012-08-05\n",
+ "2013-07-29/2013-08-04\n",
+ "2014-07-28/2014-08-03\n",
+ "2015-07-27/2015-08-02\n",
+ "2016-08-01/2016-08-07\n",
+ "2017-07-31/2017-08-06\n",
+ "2018-07-30/2018-08-05\n",
+ "2019-07-29/2019-08-04\n",
+ "2020-07-27/2020-08-02\n",
+ "2021-07-26/2021-08-01\n",
+ "2022-08-01/2022-08-07\n",
+ "2023-07-31/2023-08-06\n"
+ ]
+ }
+ ],
+ "source": [
+ "first_august_week = [pd.Period(pd.Timestamp(y, 8, 1), 'W')\n",
+ " for y in range(1991,\n",
+ " sorted_data.index[-1].year)]\n",
+ "\n",
+ "for i in first_august_week:\n",
+ " print(i)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Year 1991: Total 'inc' sum = 679607\n",
+ "Year 1992: Total 'inc' sum = 843500\n",
+ "Year 1993: Total 'inc' sum = 611264\n",
+ "Year 1994: Total 'inc' sum = 670292\n",
+ "Year 1995: Total 'inc' sum = 667294\n",
+ "Year 1996: Total 'inc' sum = 646644\n",
+ "Year 1997: Total 'inc' sum = 643524\n",
+ "Year 1998: Total 'inc' sum = 785055\n",
+ "Year 1999: Total 'inc' sum = 670819\n",
+ "Year 2000: Total 'inc' sum = 656975\n",
+ "Year 2001: Total 'inc' sum = 569744\n",
+ "Year 2002: Total 'inc' sum = 612129\n",
+ "Year 2003: Total 'inc' sum = 703899\n",
+ "Year 2004: Total 'inc' sum = 850765\n",
+ "Year 2005: Total 'inc' sum = 672315\n",
+ "Year 2006: Total 'inc' sum = 574493\n",
+ "Year 2007: Total 'inc' sum = 798899\n",
+ "Year 2008: Total 'inc' sum = 766066\n",
+ "Year 2009: Total 'inc' sum = 875937\n",
+ "Year 2010: Total 'inc' sum = 794691\n",
+ "Year 2011: Total 'inc' sum = 655146\n",
+ "Year 2012: Total 'inc' sum = 720814\n",
+ "Year 2013: Total 'inc' sum = 680822\n",
+ "Year 2014: Total 'inc' sum = 664026\n",
+ "Year 2015: Total 'inc' sum = 649742\n",
+ "Year 2016: Total 'inc' sum = 744389\n",
+ "Year 2017: Total 'inc' sum = 564245\n",
+ "Year 2018: Total 'inc' sum = 577351\n",
+ "Year 2019: Total 'inc' sum = 550709\n",
+ "Year 2020: Total 'inc' sum = 229985\n",
+ "Year 2021: Total 'inc' sum = 441771\n",
+ "Year 2022: Total 'inc' sum = 582916\n",
+ "Year 2023: Total 'inc' sum = 382480\n"
+ ]
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "\n",
+ "# Initialize a dictionary to store annual sums\n",
+ "annual_sums = {}\n",
+ "\n",
+ "# Iterate over each year's first week of August\n",
+ "for week_start in first_august_week:\n",
+ " year = week_start.year\n",
+ "\n",
+ " year_data = sorted_data[str(year)]\n",
+ " annual_sum = year_data['inc'].sum()\n",
+ " \n",
+ " # Store the annual sum in the dictionary\n",
+ " annual_sums[year] = annual_sum\n",
+ "\n",
+ "# Print annual sums\n",
+ "for year, total_inc in annual_sums.items():\n",
+ " print(f\"Year {year}: Total 'inc' sum = {total_inc}\")\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "875937\n",
+ "229985\n"
+ ]
+ }
+ ],
+ "source": [
+ "max_sum = max(annual_sums.values())\n",
+ "min_sum = min(annual_sums.values())\n",
+ "print(max_sum)\n",
+ "print(min_sum)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
@@ -16,10 +1269,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.3"
+ "version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
-
--
2.18.1