diff --git a/module2/exo5/exo5_en.ipynb b/module2/exo5/exo5_en.ipynb
index 6a0919d7ba4c9594341883f6d283db9ea050de72..c6e426cc5a3f07652dd44b207b4aaa7f66574f56 100644
--- a/module2/exo5/exo5_en.ipynb
+++ b/module2/exo5/exo5_en.ipynb
@@ -706,7 +706,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.3"
+ "version": "3.6.4"
}
},
"nbformat": 4,
diff --git a/module3/exo1/influenza-like-illness-analysis.ipynb b/module3/exo1/influenza-like-illness-analysis.ipynb
index 87092fc69cd90ff457ea56284b789cb0de199a41..0262d3a596ccf885129ca09262e7b38ed2e715b4 100644
--- a/module3/exo1/influenza-like-illness-analysis.ipynb
+++ b/module3/exo1/influenza-like-illness-analysis.ipynb
@@ -9,10 +9,8 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": 1,
+ "metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
@@ -30,10 +28,8 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": 2,
+ "metadata": {},
"outputs": [],
"source": [
"data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\""
@@ -83,6 +79,81 @@
"execution_count": null,
"metadata": {},
"outputs": [],
+ "source": [
+ "print(type(raw_data))\n",
+ "raw_data['inc'] = raw_data['inc'].astype(int) \n",
+ "print(raw_data['inc'].idxmax())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "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",
+ " 1838 | \n",
+ " 198919 | \n",
+ " 3 | \n",
+ " - | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " - | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " week indicator inc inc_low inc_up inc100 inc100_low inc100_up \\\n",
+ "1838 198919 3 - NaN NaN - NaN NaN \n",
+ "\n",
+ " geo_insee geo_name \n",
+ "1838 FR France "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"raw_data[raw_data.isnull().any(axis=1)]"
]
@@ -96,9 +167,976 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 5,
"metadata": {},
- "outputs": [],
+ "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",
+ " 202431 | \n",
+ " 3 | \n",
+ " 30726 | \n",
+ " 23171.0 | \n",
+ " 38281.0 | \n",
+ " 46 | \n",
+ " 35.0 | \n",
+ " 57.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 202430 | \n",
+ " 3 | \n",
+ " 36908 | \n",
+ " 28974.0 | \n",
+ " 44842.0 | \n",
+ " 55 | \n",
+ " 43.0 | \n",
+ " 67.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 202429 | \n",
+ " 3 | \n",
+ " 39560 | \n",
+ " 32592.0 | \n",
+ " 46528.0 | \n",
+ " 59 | \n",
+ " 49.0 | \n",
+ " 69.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 202428 | \n",
+ " 3 | \n",
+ " 54342 | \n",
+ " 45781.0 | \n",
+ " 62903.0 | \n",
+ " 81 | \n",
+ " 68.0 | \n",
+ " 94.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 202427 | \n",
+ " 3 | \n",
+ " 47364 | \n",
+ " 40234.0 | \n",
+ " 54494.0 | \n",
+ " 71 | \n",
+ " 60.0 | \n",
+ " 82.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 202426 | \n",
+ " 3 | \n",
+ " 44219 | \n",
+ " 36956.0 | \n",
+ " 51482.0 | \n",
+ " 66 | \n",
+ " 55.0 | \n",
+ " 77.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 202425 | \n",
+ " 3 | \n",
+ " 47204 | \n",
+ " 40300.0 | \n",
+ " 54108.0 | \n",
+ " 71 | \n",
+ " 61.0 | \n",
+ " 81.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 202424 | \n",
+ " 3 | \n",
+ " 41110 | \n",
+ " 34671.0 | \n",
+ " 47549.0 | \n",
+ " 62 | \n",
+ " 52.0 | \n",
+ " 72.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 202423 | \n",
+ " 3 | \n",
+ " 35875 | \n",
+ " 30610.0 | \n",
+ " 41140.0 | \n",
+ " 54 | \n",
+ " 46.0 | \n",
+ " 62.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 202422 | \n",
+ " 3 | \n",
+ " 33772 | \n",
+ " 28274.0 | \n",
+ " 39270.0 | \n",
+ " 51 | \n",
+ " 43.0 | \n",
+ " 59.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 202421 | \n",
+ " 3 | \n",
+ " 21963 | \n",
+ " 17556.0 | \n",
+ " 26370.0 | \n",
+ " 33 | \n",
+ " 26.0 | \n",
+ " 40.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 202420 | \n",
+ " 3 | \n",
+ " 20057 | \n",
+ " 15780.0 | \n",
+ " 24334.0 | \n",
+ " 30 | \n",
+ " 24.0 | \n",
+ " 36.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 202419 | \n",
+ " 3 | \n",
+ " 15375 | \n",
+ " 11274.0 | \n",
+ " 19476.0 | \n",
+ " 23 | \n",
+ " 17.0 | \n",
+ " 29.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " 202418 | \n",
+ " 3 | \n",
+ " 22409 | \n",
+ " 17653.0 | \n",
+ " 27165.0 | \n",
+ " 34 | \n",
+ " 27.0 | \n",
+ " 41.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 14 | \n",
+ " 202417 | \n",
+ " 3 | \n",
+ " 27042 | \n",
+ " 21410.0 | \n",
+ " 32674.0 | \n",
+ " 41 | \n",
+ " 33.0 | \n",
+ " 49.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 15 | \n",
+ " 202416 | \n",
+ " 3 | \n",
+ " 28882 | \n",
+ " 23305.0 | \n",
+ " 34459.0 | \n",
+ " 43 | \n",
+ " 35.0 | \n",
+ " 51.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 202415 | \n",
+ " 3 | \n",
+ " 30229 | \n",
+ " 24648.0 | \n",
+ " 35810.0 | \n",
+ " 45 | \n",
+ " 37.0 | \n",
+ " 53.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 17 | \n",
+ " 202414 | \n",
+ " 3 | \n",
+ " 31813 | \n",
+ " 26529.0 | \n",
+ " 37097.0 | \n",
+ " 48 | \n",
+ " 40.0 | \n",
+ " 56.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 18 | \n",
+ " 202413 | \n",
+ " 3 | \n",
+ " 35090 | \n",
+ " 29607.0 | \n",
+ " 40573.0 | \n",
+ " 53 | \n",
+ " 45.0 | \n",
+ " 61.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 19 | \n",
+ " 202412 | \n",
+ " 3 | \n",
+ " 40639 | \n",
+ " 34582.0 | \n",
+ " 46696.0 | \n",
+ " 61 | \n",
+ " 52.0 | \n",
+ " 70.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 20 | \n",
+ " 202411 | \n",
+ " 3 | \n",
+ " 50268 | \n",
+ " 43331.0 | \n",
+ " 57205.0 | \n",
+ " 75 | \n",
+ " 65.0 | \n",
+ " 85.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 21 | \n",
+ " 202410 | \n",
+ " 3 | \n",
+ " 60107 | \n",
+ " 52623.0 | \n",
+ " 67591.0 | \n",
+ " 90 | \n",
+ " 79.0 | \n",
+ " 101.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 22 | \n",
+ " 202409 | \n",
+ " 3 | \n",
+ " 71121 | \n",
+ " 62920.0 | \n",
+ " 79322.0 | \n",
+ " 107 | \n",
+ " 95.0 | \n",
+ " 119.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 23 | \n",
+ " 202408 | \n",
+ " 3 | \n",
+ " 104566 | \n",
+ " 94520.0 | \n",
+ " 114612.0 | \n",
+ " 157 | \n",
+ " 142.0 | \n",
+ " 172.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 24 | \n",
+ " 202407 | \n",
+ " 3 | \n",
+ " 138078 | \n",
+ " 127050.0 | \n",
+ " 149106.0 | \n",
+ " 207 | \n",
+ " 190.0 | \n",
+ " 224.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 25 | \n",
+ " 202406 | \n",
+ " 3 | \n",
+ " 190062 | \n",
+ " 177955.0 | \n",
+ " 202169.0 | \n",
+ " 285 | \n",
+ " 267.0 | \n",
+ " 303.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 26 | \n",
+ " 202405 | \n",
+ " 3 | \n",
+ " 216237 | \n",
+ " 203595.0 | \n",
+ " 228879.0 | \n",
+ " 324 | \n",
+ " 305.0 | \n",
+ " 343.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 27 | \n",
+ " 202404 | \n",
+ " 3 | \n",
+ " 213196 | \n",
+ " 200547.0 | \n",
+ " 225845.0 | \n",
+ " 320 | \n",
+ " 301.0 | \n",
+ " 339.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 28 | \n",
+ " 202403 | \n",
+ " 3 | \n",
+ " 163457 | \n",
+ " 152276.0 | \n",
+ " 174638.0 | \n",
+ " 245 | \n",
+ " 228.0 | \n",
+ " 262.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 29 | \n",
+ " 202402 | \n",
+ " 3 | \n",
+ " 129436 | \n",
+ " 119453.0 | \n",
+ " 139419.0 | \n",
+ " 194 | \n",
+ " 179.0 | \n",
+ " 209.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 2045 | \n",
+ " 198521 | \n",
+ " 3 | \n",
+ " 26096 | \n",
+ " 19621.0 | \n",
+ " 32571.0 | \n",
+ " 47 | \n",
+ " 35.0 | \n",
+ " 59.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 2046 | \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",
+ " 2047 | \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",
+ " 2048 | \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",
+ " 2049 | \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",
+ " 2050 | \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",
+ " 2051 | \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",
+ " 2052 | \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",
+ " 2053 | \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",
+ " 2054 | \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",
+ " 2055 | \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",
+ " 2056 | \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",
+ " 2057 | \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",
+ " 2058 | \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",
+ " 2059 | \n",
+ " 198507 | \n",
+ " 3 | \n",
+ " 471852 | \n",
+ " 432599.0 | \n",
+ " 511105.0 | \n",
+ " 855 | \n",
+ " 784.0 | \n",
+ " 926.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 2060 | \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",
+ " 2061 | \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",
+ " 2062 | \n",
+ " 198504 | \n",
+ " 3 | \n",
+ " 424937 | \n",
+ " 390794.0 | \n",
+ " 459080.0 | \n",
+ " 770 | \n",
+ " 708.0 | \n",
+ " 832.0 | \n",
+ " FR | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " 2063 | \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",
+ " 2064 | \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",
+ " 2065 | \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",
+ " 2066 | \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",
+ " 2067 | \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",
+ " 2068 | \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",
+ " 2069 | \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",
+ " 2070 | \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",
+ " 2071 | \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",
+ " 2072 | \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",
+ " 2073 | \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",
+ " 2074 | \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",
+ "
2074 rows × 10 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " week indicator inc inc_low inc_up inc100 inc100_low \\\n",
+ "0 202431 3 30726 23171.0 38281.0 46 35.0 \n",
+ "1 202430 3 36908 28974.0 44842.0 55 43.0 \n",
+ "2 202429 3 39560 32592.0 46528.0 59 49.0 \n",
+ "3 202428 3 54342 45781.0 62903.0 81 68.0 \n",
+ "4 202427 3 47364 40234.0 54494.0 71 60.0 \n",
+ "5 202426 3 44219 36956.0 51482.0 66 55.0 \n",
+ "6 202425 3 47204 40300.0 54108.0 71 61.0 \n",
+ "7 202424 3 41110 34671.0 47549.0 62 52.0 \n",
+ "8 202423 3 35875 30610.0 41140.0 54 46.0 \n",
+ "9 202422 3 33772 28274.0 39270.0 51 43.0 \n",
+ "10 202421 3 21963 17556.0 26370.0 33 26.0 \n",
+ "11 202420 3 20057 15780.0 24334.0 30 24.0 \n",
+ "12 202419 3 15375 11274.0 19476.0 23 17.0 \n",
+ "13 202418 3 22409 17653.0 27165.0 34 27.0 \n",
+ "14 202417 3 27042 21410.0 32674.0 41 33.0 \n",
+ "15 202416 3 28882 23305.0 34459.0 43 35.0 \n",
+ "16 202415 3 30229 24648.0 35810.0 45 37.0 \n",
+ "17 202414 3 31813 26529.0 37097.0 48 40.0 \n",
+ "18 202413 3 35090 29607.0 40573.0 53 45.0 \n",
+ "19 202412 3 40639 34582.0 46696.0 61 52.0 \n",
+ "20 202411 3 50268 43331.0 57205.0 75 65.0 \n",
+ "21 202410 3 60107 52623.0 67591.0 90 79.0 \n",
+ "22 202409 3 71121 62920.0 79322.0 107 95.0 \n",
+ "23 202408 3 104566 94520.0 114612.0 157 142.0 \n",
+ "24 202407 3 138078 127050.0 149106.0 207 190.0 \n",
+ "25 202406 3 190062 177955.0 202169.0 285 267.0 \n",
+ "26 202405 3 216237 203595.0 228879.0 324 305.0 \n",
+ "27 202404 3 213196 200547.0 225845.0 320 301.0 \n",
+ "28 202403 3 163457 152276.0 174638.0 245 228.0 \n",
+ "29 202402 3 129436 119453.0 139419.0 194 179.0 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "2045 198521 3 26096 19621.0 32571.0 47 35.0 \n",
+ "2046 198520 3 27896 20885.0 34907.0 51 38.0 \n",
+ "2047 198519 3 43154 32821.0 53487.0 78 59.0 \n",
+ "2048 198518 3 40555 29935.0 51175.0 74 55.0 \n",
+ "2049 198517 3 34053 24366.0 43740.0 62 44.0 \n",
+ "2050 198516 3 50362 36451.0 64273.0 91 66.0 \n",
+ "2051 198515 3 63881 45538.0 82224.0 116 83.0 \n",
+ "2052 198514 3 134545 114400.0 154690.0 244 207.0 \n",
+ "2053 198513 3 197206 176080.0 218332.0 357 319.0 \n",
+ "2054 198512 3 245240 223304.0 267176.0 445 405.0 \n",
+ "2055 198511 3 276205 252399.0 300011.0 501 458.0 \n",
+ "2056 198510 3 353231 326279.0 380183.0 640 591.0 \n",
+ "2057 198509 3 369895 341109.0 398681.0 670 618.0 \n",
+ "2058 198508 3 389886 359529.0 420243.0 707 652.0 \n",
+ "2059 198507 3 471852 432599.0 511105.0 855 784.0 \n",
+ "2060 198506 3 565825 518011.0 613639.0 1026 939.0 \n",
+ "2061 198505 3 637302 592795.0 681809.0 1155 1074.0 \n",
+ "2062 198504 3 424937 390794.0 459080.0 770 708.0 \n",
+ "2063 198503 3 213901 174689.0 253113.0 388 317.0 \n",
+ "2064 198502 3 97586 80949.0 114223.0 177 147.0 \n",
+ "2065 198501 3 85489 65918.0 105060.0 155 120.0 \n",
+ "2066 198452 3 84830 60602.0 109058.0 154 110.0 \n",
+ "2067 198451 3 101726 80242.0 123210.0 185 146.0 \n",
+ "2068 198450 3 123680 101401.0 145959.0 225 184.0 \n",
+ "2069 198449 3 101073 81684.0 120462.0 184 149.0 \n",
+ "2070 198448 3 78620 60634.0 96606.0 143 110.0 \n",
+ "2071 198447 3 72029 54274.0 89784.0 131 99.0 \n",
+ "2072 198446 3 87330 67686.0 106974.0 159 123.0 \n",
+ "2073 198445 3 135223 101414.0 169032.0 246 184.0 \n",
+ "2074 198444 3 68422 20056.0 116788.0 125 37.0 \n",
+ "\n",
+ " inc100_up geo_insee geo_name \n",
+ "0 57.0 FR France \n",
+ "1 67.0 FR France \n",
+ "2 69.0 FR France \n",
+ "3 94.0 FR France \n",
+ "4 82.0 FR France \n",
+ "5 77.0 FR France \n",
+ "6 81.0 FR France \n",
+ "7 72.0 FR France \n",
+ "8 62.0 FR France \n",
+ "9 59.0 FR France \n",
+ "10 40.0 FR France \n",
+ "11 36.0 FR France \n",
+ "12 29.0 FR France \n",
+ "13 41.0 FR France \n",
+ "14 49.0 FR France \n",
+ "15 51.0 FR France \n",
+ "16 53.0 FR France \n",
+ "17 56.0 FR France \n",
+ "18 61.0 FR France \n",
+ "19 70.0 FR France \n",
+ "20 85.0 FR France \n",
+ "21 101.0 FR France \n",
+ "22 119.0 FR France \n",
+ "23 172.0 FR France \n",
+ "24 224.0 FR France \n",
+ "25 303.0 FR France \n",
+ "26 343.0 FR France \n",
+ "27 339.0 FR France \n",
+ "28 262.0 FR France \n",
+ "29 209.0 FR France \n",
+ "... ... ... ... \n",
+ "2045 59.0 FR France \n",
+ "2046 64.0 FR France \n",
+ "2047 97.0 FR France \n",
+ "2048 93.0 FR France \n",
+ "2049 80.0 FR France \n",
+ "2050 116.0 FR France \n",
+ "2051 149.0 FR France \n",
+ "2052 281.0 FR France \n",
+ "2053 395.0 FR France \n",
+ "2054 485.0 FR France \n",
+ "2055 544.0 FR France \n",
+ "2056 689.0 FR France \n",
+ "2057 722.0 FR France \n",
+ "2058 762.0 FR France \n",
+ "2059 926.0 FR France \n",
+ "2060 1113.0 FR France \n",
+ "2061 1236.0 FR France \n",
+ "2062 832.0 FR France \n",
+ "2063 459.0 FR France \n",
+ "2064 207.0 FR France \n",
+ "2065 190.0 FR France \n",
+ "2066 198.0 FR France \n",
+ "2067 224.0 FR France \n",
+ "2068 266.0 FR France \n",
+ "2069 219.0 FR France \n",
+ "2070 176.0 FR France \n",
+ "2071 163.0 FR France \n",
+ "2072 195.0 FR France \n",
+ "2073 308.0 FR France \n",
+ "2074 213.0 FR France \n",
+ "\n",
+ "[2074 rows x 10 columns]"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"data = raw_data.dropna().copy()\n",
"data"
@@ -123,10 +1161,8 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": 6,
+ "metadata": {},
"outputs": [],
"source": [
"def convert_week(year_and_week_int):\n",
@@ -154,10 +1190,8 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": 7,
+ "metadata": {},
"outputs": [],
"source": [
"sorted_data = data.set_index('period').sort_index()"
@@ -180,9 +1214,17 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 8,
"metadata": {},
- "outputs": [],
+ "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",
@@ -200,9 +1242,26 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 9,
"metadata": {},
- "outputs": [],
+ "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[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[0mplot\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/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"
+ ]
+ }
+ ],
"source": [
"sorted_data['inc'].plot()"
]
@@ -365,7 +1424,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.1"
+ "version": "3.6.4"
}
},
"nbformat": 4,
diff --git a/module3/exo3/exercice_en.ipynb b/module3/exo3/exercice_en.ipynb
index 0bbbe371b01e359e381e43239412d77bf53fb1fb..fb431eb5f4731728092bf0777bd668db8b7c0d32 100644
--- a/module3/exo3/exercice_en.ipynb
+++ b/module3/exo3/exercice_en.ipynb
@@ -1,5 +1,90 @@
{
- "cells": [],
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CO2 Data Analysis at Mauna Loa Observatory\n",
+ "\n",
+ "This notebook provides an analysis of atmospheric CO2 concentrations measured at the Mauna Loa Observatory, Hawaii. The dataset includes monthly CO2 measurements, both raw and adjusted, from various years.\n",
+ "\n",
+ "## Dataset Information\n",
+ "\n",
+ "- **Year**: Year of measurement.\n",
+ "- **Month**: Month of measurement.\n",
+ "- **Day_Count**: Identifier related to the day count (potentially not relevant for this analysis).\n",
+ "- **Decimal_Year**: Year in decimal format.\n",
+ "- **CO2**: Raw CO2 measurement (ppm).\n",
+ "- **Seasonally_Adjusted_CO2**: CO2 measurement with seasonal adjustment.\n",
+ "- **Smoothed_CO2**: Smoothed CO2 measurement.\n",
+ "- **Smoothed_Seasonally_Adjusted_CO2**: Smoothed and seasonally adjusted CO2 measurement.\n",
+ "- **Interpolated_CO2**: CO2 measurement with missing values filled in.\n",
+ "- **Interpolated_Seasonally_Adjusted_CO2**: Seasonally adjusted CO2 with missing values filled in.\n",
+ "- **Station_ID**: Station identifier."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "\n",
+ "# Load the dataset\n",
+ "file_path = 'monthly_in_situ_co2_mlo.csv'\n",
+ "co2_data = pd.read_csv(file_path, skiprows=100)\n",
+ "\n",
+ "# Adjust the column names for clarity\n",
+ "co2_data.columns = [\n",
+ " 'Year', 'Month', 'Day_Count', 'Decimal_Year', 'CO2', \n",
+ " 'Seasonally_Adjusted_CO2', 'Smoothed_CO2', 'Smoothed_Seasonally_Adjusted_CO2',\n",
+ " 'Interpolated_CO2', 'Interpolated_Seasonally_Adjusted_CO2', 'Station_ID'\n",
+ "]\n",
+ "\n",
+ "co2_data.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Explore basic statistics of the dataset\n",
+ "co2_data.describe()\n",
+ "\n",
+ "# Check for missing values\n",
+ "co2_data.isnull().sum()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Plot CO2 over time\n",
+ "plt.figure(figsize=(14, 8))\n",
+ "sns.lineplot(x='Decimal_Year', y='CO2', data=co2_data, label='Raw CO2')\n",
+ "sns.lineplot(x='Decimal_Year', y='Seasonally_Adjusted_CO2', data=co2_data, label='Seasonally Adjusted CO2')\n",
+ "plt.title('CO2 Concentrations Over Time at Mauna Loa Observatory')\n",
+ "plt.xlabel('Year')\n",
+ "plt.ylabel('CO2 (ppm)')\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
@@ -16,10 +101,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.3"
+ "version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
-