diff --git a/module3/exo1/analyse-syndrome-grippal.ipynb b/module3/exo1/analyse-syndrome-grippal.ipynb
index 597f84d86a8a9e239756c28d977d3e54abd8881c..62ff5bcf5025dc5f7de2ee13500629e7e6b31433 100644
--- a/module3/exo1/analyse-syndrome-grippal.ipynb
+++ b/module3/exo1/analyse-syndrome-grippal.ipynb
@@ -9,7 +9,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
@@ -28,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\""
@@ -61,9 +59,976 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"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",
+ " 202515 \n",
+ " 3 \n",
+ " 38813 \n",
+ " 31411.0 \n",
+ " 46215.0 \n",
+ " 58 \n",
+ " 47.0 \n",
+ " 69.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 202514 \n",
+ " 3 \n",
+ " 37870 \n",
+ " 31403.0 \n",
+ " 44337.0 \n",
+ " 57 \n",
+ " 47.0 \n",
+ " 67.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 2 \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",
+ " 3 \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",
+ " 4 \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",
+ " 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",
+ " 6 \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",
+ " 7 \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",
+ " 8 \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",
+ " 9 \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",
+ " 10 \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",
+ " 11 \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",
+ " 12 \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",
+ " 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",
+ " 14 \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",
+ " 15 \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",
+ " 16 \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",
+ " 17 \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",
+ " 18 \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",
+ " 19 \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",
+ " 20 \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",
+ " 21 \n",
+ " 202446 \n",
+ " 3 \n",
+ " 56399 \n",
+ " 49006.0 \n",
+ " 63792.0 \n",
+ " 85 \n",
+ " 74.0 \n",
+ " 96.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 22 \n",
+ " 202445 \n",
+ " 3 \n",
+ " 47347 \n",
+ " 40843.0 \n",
+ " 53851.0 \n",
+ " 71 \n",
+ " 61.0 \n",
+ " 81.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 23 \n",
+ " 202444 \n",
+ " 3 \n",
+ " 36039 \n",
+ " 30122.0 \n",
+ " 41956.0 \n",
+ " 54 \n",
+ " 45.0 \n",
+ " 63.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 24 \n",
+ " 202443 \n",
+ " 3 \n",
+ " 46572 \n",
+ " 39928.0 \n",
+ " 53216.0 \n",
+ " 70 \n",
+ " 60.0 \n",
+ " 80.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 25 \n",
+ " 202442 \n",
+ " 3 \n",
+ " 67785 \n",
+ " 60009.0 \n",
+ " 75561.0 \n",
+ " 102 \n",
+ " 90.0 \n",
+ " 114.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 26 \n",
+ " 202441 \n",
+ " 3 \n",
+ " 79435 \n",
+ " 71386.0 \n",
+ " 87484.0 \n",
+ " 119 \n",
+ " 107.0 \n",
+ " 131.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 27 \n",
+ " 202440 \n",
+ " 3 \n",
+ " 84965 \n",
+ " 76555.0 \n",
+ " 93375.0 \n",
+ " 127 \n",
+ " 114.0 \n",
+ " 140.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 28 \n",
+ " 202439 \n",
+ " 3 \n",
+ " 91660 \n",
+ " 82937.0 \n",
+ " 100383.0 \n",
+ " 137 \n",
+ " 124.0 \n",
+ " 150.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 29 \n",
+ " 202438 \n",
+ " 3 \n",
+ " 91786 \n",
+ " 82903.0 \n",
+ " 100669.0 \n",
+ " 138 \n",
+ " 125.0 \n",
+ " 151.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 2081 \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",
+ " 2082 \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",
+ " 2083 \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",
+ " 2084 \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",
+ " 2085 \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",
+ " 2086 \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",
+ " 2087 \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",
+ " 2088 \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",
+ " 2089 \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",
+ " 2090 \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",
+ " 2091 \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",
+ " 2092 \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",
+ " 2093 \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",
+ " 2094 \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",
+ " 2095 \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",
+ " 2096 \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",
+ " 2097 \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",
+ " 2098 \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",
+ " 2099 \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",
+ " 2100 \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",
+ " 2101 \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",
+ " 2102 \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",
+ " 2103 \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",
+ " 2104 \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",
+ " 2105 \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",
+ " 2106 \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",
+ " 2107 \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",
+ " 2108 \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",
+ " 2109 \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",
+ " 2110 \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",
+ "
2111 rows × 10 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " week indicator inc inc_low inc_up inc100 inc100_low \\\n",
+ "0 202515 3 38813 31411.0 46215.0 58 47.0 \n",
+ "1 202514 3 37870 31403.0 44337.0 57 47.0 \n",
+ "2 202513 3 39673 33686.0 45660.0 59 50.0 \n",
+ "3 202512 3 52543 45627.0 59459.0 78 68.0 \n",
+ "4 202511 3 59469 52154.0 66784.0 89 78.0 \n",
+ "5 202510 3 60334 53048.0 67620.0 90 79.0 \n",
+ "6 202509 3 84531 74994.0 94068.0 126 112.0 \n",
+ "7 202508 3 136020 124824.0 147216.0 203 186.0 \n",
+ "8 202507 3 208952 195988.0 221916.0 312 293.0 \n",
+ "9 202506 3 273519 258159.0 288879.0 408 385.0 \n",
+ "10 202505 3 334395 318416.0 350374.0 499 475.0 \n",
+ "11 202504 3 350043 332885.0 367201.0 522 496.0 \n",
+ "12 202503 3 252772 238917.0 266627.0 377 356.0 \n",
+ "13 202502 3 257247 242991.0 271503.0 384 363.0 \n",
+ "14 202501 3 231549 214627.0 248471.0 345 320.0 \n",
+ "15 202452 3 201726 185870.0 217582.0 302 278.0 \n",
+ "16 202451 3 201697 187843.0 215551.0 302 281.0 \n",
+ "17 202450 3 136694 126369.0 147019.0 205 190.0 \n",
+ "18 202449 3 108487 99037.0 117937.0 163 149.0 \n",
+ "19 202448 3 87381 78687.0 96075.0 131 118.0 \n",
+ "20 202447 3 76286 67626.0 84946.0 114 101.0 \n",
+ "21 202446 3 56399 49006.0 63792.0 85 74.0 \n",
+ "22 202445 3 47347 40843.0 53851.0 71 61.0 \n",
+ "23 202444 3 36039 30122.0 41956.0 54 45.0 \n",
+ "24 202443 3 46572 39928.0 53216.0 70 60.0 \n",
+ "25 202442 3 67785 60009.0 75561.0 102 90.0 \n",
+ "26 202441 3 79435 71386.0 87484.0 119 107.0 \n",
+ "27 202440 3 84965 76555.0 93375.0 127 114.0 \n",
+ "28 202439 3 91660 82937.0 100383.0 137 124.0 \n",
+ "29 202438 3 91786 82903.0 100669.0 138 125.0 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "2081 198521 3 26096 19621.0 32571.0 47 35.0 \n",
+ "2082 198520 3 27896 20885.0 34907.0 51 38.0 \n",
+ "2083 198519 3 43154 32821.0 53487.0 78 59.0 \n",
+ "2084 198518 3 40555 29935.0 51175.0 74 55.0 \n",
+ "2085 198517 3 34053 24366.0 43740.0 62 44.0 \n",
+ "2086 198516 3 50362 36451.0 64273.0 91 66.0 \n",
+ "2087 198515 3 63881 45538.0 82224.0 116 83.0 \n",
+ "2088 198514 3 134545 114400.0 154690.0 244 207.0 \n",
+ "2089 198513 3 197206 176080.0 218332.0 357 319.0 \n",
+ "2090 198512 3 245240 223304.0 267176.0 445 405.0 \n",
+ "2091 198511 3 276205 252399.0 300011.0 501 458.0 \n",
+ "2092 198510 3 353231 326279.0 380183.0 640 591.0 \n",
+ "2093 198509 3 369895 341109.0 398681.0 670 618.0 \n",
+ "2094 198508 3 389886 359529.0 420243.0 707 652.0 \n",
+ "2095 198507 3 471852 432599.0 511105.0 855 784.0 \n",
+ "2096 198506 3 565825 518011.0 613639.0 1026 939.0 \n",
+ "2097 198505 3 637302 592795.0 681809.0 1155 1074.0 \n",
+ "2098 198504 3 424937 390794.0 459080.0 770 708.0 \n",
+ "2099 198503 3 213901 174689.0 253113.0 388 317.0 \n",
+ "2100 198502 3 97586 80949.0 114223.0 177 147.0 \n",
+ "2101 198501 3 85489 65918.0 105060.0 155 120.0 \n",
+ "2102 198452 3 84830 60602.0 109058.0 154 110.0 \n",
+ "2103 198451 3 101726 80242.0 123210.0 185 146.0 \n",
+ "2104 198450 3 123680 101401.0 145959.0 225 184.0 \n",
+ "2105 198449 3 101073 81684.0 120462.0 184 149.0 \n",
+ "2106 198448 3 78620 60634.0 96606.0 143 110.0 \n",
+ "2107 198447 3 72029 54274.0 89784.0 131 99.0 \n",
+ "2108 198446 3 87330 67686.0 106974.0 159 123.0 \n",
+ "2109 198445 3 135223 101414.0 169032.0 246 184.0 \n",
+ "2110 198444 3 68422 20056.0 116788.0 125 37.0 \n",
+ "\n",
+ " inc100_up geo_insee geo_name \n",
+ "0 69.0 FR France \n",
+ "1 67.0 FR France \n",
+ "2 68.0 FR France \n",
+ "3 88.0 FR France \n",
+ "4 100.0 FR France \n",
+ "5 101.0 FR France \n",
+ "6 140.0 FR France \n",
+ "7 220.0 FR France \n",
+ "8 331.0 FR France \n",
+ "9 431.0 FR France \n",
+ "10 523.0 FR France \n",
+ "11 548.0 FR France \n",
+ "12 398.0 FR France \n",
+ "13 405.0 FR France \n",
+ "14 370.0 FR France \n",
+ "15 326.0 FR France \n",
+ "16 323.0 FR France \n",
+ "17 220.0 FR France \n",
+ "18 177.0 FR France \n",
+ "19 144.0 FR France \n",
+ "20 127.0 FR France \n",
+ "21 96.0 FR France \n",
+ "22 81.0 FR France \n",
+ "23 63.0 FR France \n",
+ "24 80.0 FR France \n",
+ "25 114.0 FR France \n",
+ "26 131.0 FR France \n",
+ "27 140.0 FR France \n",
+ "28 150.0 FR France \n",
+ "29 151.0 FR France \n",
+ "... ... ... ... \n",
+ "2081 59.0 FR France \n",
+ "2082 64.0 FR France \n",
+ "2083 97.0 FR France \n",
+ "2084 93.0 FR France \n",
+ "2085 80.0 FR France \n",
+ "2086 116.0 FR France \n",
+ "2087 149.0 FR France \n",
+ "2088 281.0 FR France \n",
+ "2089 395.0 FR France \n",
+ "2090 485.0 FR France \n",
+ "2091 544.0 FR France \n",
+ "2092 689.0 FR France \n",
+ "2093 722.0 FR France \n",
+ "2094 762.0 FR France \n",
+ "2095 926.0 FR France \n",
+ "2096 1113.0 FR France \n",
+ "2097 1236.0 FR France \n",
+ "2098 832.0 FR France \n",
+ "2099 459.0 FR France \n",
+ "2100 207.0 FR France \n",
+ "2101 190.0 FR France \n",
+ "2102 198.0 FR France \n",
+ "2103 224.0 FR France \n",
+ "2104 266.0 FR France \n",
+ "2105 219.0 FR France \n",
+ "2106 176.0 FR France \n",
+ "2107 163.0 FR France \n",
+ "2108 195.0 FR France \n",
+ "2109 308.0 FR France \n",
+ "2110 213.0 FR France \n",
+ "\n",
+ "[2111 rows x 10 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"raw_data = pd.read_csv(data_url, skiprows=1)\n",
"raw_data"
@@ -78,9 +1043,73 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 4,
"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",
+ " 1874 \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",
+ "1874 198919 3 - NaN NaN - NaN NaN \n",
+ "\n",
+ " geo_insee geo_name \n",
+ "1874 FR France "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"raw_data[raw_data.isnull().any(axis=1)]"
]
@@ -94,9 +1123,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",
+ " 202515 \n",
+ " 3 \n",
+ " 38813 \n",
+ " 31411.0 \n",
+ " 46215.0 \n",
+ " 58 \n",
+ " 47.0 \n",
+ " 69.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 202514 \n",
+ " 3 \n",
+ " 37870 \n",
+ " 31403.0 \n",
+ " 44337.0 \n",
+ " 57 \n",
+ " 47.0 \n",
+ " 67.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 2 \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",
+ " 3 \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",
+ " 4 \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",
+ " 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",
+ " 6 \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",
+ " 7 \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",
+ " 8 \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",
+ " 9 \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",
+ " 10 \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",
+ " 11 \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",
+ " 12 \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",
+ " 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",
+ " 14 \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",
+ " 15 \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",
+ " 16 \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",
+ " 17 \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",
+ " 18 \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",
+ " 19 \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",
+ " 20 \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",
+ " 21 \n",
+ " 202446 \n",
+ " 3 \n",
+ " 56399 \n",
+ " 49006.0 \n",
+ " 63792.0 \n",
+ " 85 \n",
+ " 74.0 \n",
+ " 96.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 22 \n",
+ " 202445 \n",
+ " 3 \n",
+ " 47347 \n",
+ " 40843.0 \n",
+ " 53851.0 \n",
+ " 71 \n",
+ " 61.0 \n",
+ " 81.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 23 \n",
+ " 202444 \n",
+ " 3 \n",
+ " 36039 \n",
+ " 30122.0 \n",
+ " 41956.0 \n",
+ " 54 \n",
+ " 45.0 \n",
+ " 63.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 24 \n",
+ " 202443 \n",
+ " 3 \n",
+ " 46572 \n",
+ " 39928.0 \n",
+ " 53216.0 \n",
+ " 70 \n",
+ " 60.0 \n",
+ " 80.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 25 \n",
+ " 202442 \n",
+ " 3 \n",
+ " 67785 \n",
+ " 60009.0 \n",
+ " 75561.0 \n",
+ " 102 \n",
+ " 90.0 \n",
+ " 114.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 26 \n",
+ " 202441 \n",
+ " 3 \n",
+ " 79435 \n",
+ " 71386.0 \n",
+ " 87484.0 \n",
+ " 119 \n",
+ " 107.0 \n",
+ " 131.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 27 \n",
+ " 202440 \n",
+ " 3 \n",
+ " 84965 \n",
+ " 76555.0 \n",
+ " 93375.0 \n",
+ " 127 \n",
+ " 114.0 \n",
+ " 140.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 28 \n",
+ " 202439 \n",
+ " 3 \n",
+ " 91660 \n",
+ " 82937.0 \n",
+ " 100383.0 \n",
+ " 137 \n",
+ " 124.0 \n",
+ " 150.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " 29 \n",
+ " 202438 \n",
+ " 3 \n",
+ " 91786 \n",
+ " 82903.0 \n",
+ " 100669.0 \n",
+ " 138 \n",
+ " 125.0 \n",
+ " 151.0 \n",
+ " FR \n",
+ " France \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 2081 \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",
+ " 2082 \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",
+ " 2083 \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",
+ " 2084 \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",
+ " 2085 \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",
+ " 2086 \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",
+ " 2087 \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",
+ " 2088 \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",
+ " 2089 \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",
+ " 2090 \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",
+ " 2091 \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",
+ " 2092 \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",
+ " 2093 \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",
+ " 2094 \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",
+ " 2095 \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",
+ " 2096 \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",
+ " 2097 \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",
+ " 2098 \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",
+ " 2099 \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",
+ " 2100 \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",
+ " 2101 \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",
+ " 2102 \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",
+ " 2103 \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",
+ " 2104 \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",
+ " 2105 \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",
+ " 2106 \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",
+ " 2107 \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",
+ " 2108 \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",
+ " 2109 \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",
+ " 2110 \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",
+ "
2110 rows × 10 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " week indicator inc inc_low inc_up inc100 inc100_low \\\n",
+ "0 202515 3 38813 31411.0 46215.0 58 47.0 \n",
+ "1 202514 3 37870 31403.0 44337.0 57 47.0 \n",
+ "2 202513 3 39673 33686.0 45660.0 59 50.0 \n",
+ "3 202512 3 52543 45627.0 59459.0 78 68.0 \n",
+ "4 202511 3 59469 52154.0 66784.0 89 78.0 \n",
+ "5 202510 3 60334 53048.0 67620.0 90 79.0 \n",
+ "6 202509 3 84531 74994.0 94068.0 126 112.0 \n",
+ "7 202508 3 136020 124824.0 147216.0 203 186.0 \n",
+ "8 202507 3 208952 195988.0 221916.0 312 293.0 \n",
+ "9 202506 3 273519 258159.0 288879.0 408 385.0 \n",
+ "10 202505 3 334395 318416.0 350374.0 499 475.0 \n",
+ "11 202504 3 350043 332885.0 367201.0 522 496.0 \n",
+ "12 202503 3 252772 238917.0 266627.0 377 356.0 \n",
+ "13 202502 3 257247 242991.0 271503.0 384 363.0 \n",
+ "14 202501 3 231549 214627.0 248471.0 345 320.0 \n",
+ "15 202452 3 201726 185870.0 217582.0 302 278.0 \n",
+ "16 202451 3 201697 187843.0 215551.0 302 281.0 \n",
+ "17 202450 3 136694 126369.0 147019.0 205 190.0 \n",
+ "18 202449 3 108487 99037.0 117937.0 163 149.0 \n",
+ "19 202448 3 87381 78687.0 96075.0 131 118.0 \n",
+ "20 202447 3 76286 67626.0 84946.0 114 101.0 \n",
+ "21 202446 3 56399 49006.0 63792.0 85 74.0 \n",
+ "22 202445 3 47347 40843.0 53851.0 71 61.0 \n",
+ "23 202444 3 36039 30122.0 41956.0 54 45.0 \n",
+ "24 202443 3 46572 39928.0 53216.0 70 60.0 \n",
+ "25 202442 3 67785 60009.0 75561.0 102 90.0 \n",
+ "26 202441 3 79435 71386.0 87484.0 119 107.0 \n",
+ "27 202440 3 84965 76555.0 93375.0 127 114.0 \n",
+ "28 202439 3 91660 82937.0 100383.0 137 124.0 \n",
+ "29 202438 3 91786 82903.0 100669.0 138 125.0 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "2081 198521 3 26096 19621.0 32571.0 47 35.0 \n",
+ "2082 198520 3 27896 20885.0 34907.0 51 38.0 \n",
+ "2083 198519 3 43154 32821.0 53487.0 78 59.0 \n",
+ "2084 198518 3 40555 29935.0 51175.0 74 55.0 \n",
+ "2085 198517 3 34053 24366.0 43740.0 62 44.0 \n",
+ "2086 198516 3 50362 36451.0 64273.0 91 66.0 \n",
+ "2087 198515 3 63881 45538.0 82224.0 116 83.0 \n",
+ "2088 198514 3 134545 114400.0 154690.0 244 207.0 \n",
+ "2089 198513 3 197206 176080.0 218332.0 357 319.0 \n",
+ "2090 198512 3 245240 223304.0 267176.0 445 405.0 \n",
+ "2091 198511 3 276205 252399.0 300011.0 501 458.0 \n",
+ "2092 198510 3 353231 326279.0 380183.0 640 591.0 \n",
+ "2093 198509 3 369895 341109.0 398681.0 670 618.0 \n",
+ "2094 198508 3 389886 359529.0 420243.0 707 652.0 \n",
+ "2095 198507 3 471852 432599.0 511105.0 855 784.0 \n",
+ "2096 198506 3 565825 518011.0 613639.0 1026 939.0 \n",
+ "2097 198505 3 637302 592795.0 681809.0 1155 1074.0 \n",
+ "2098 198504 3 424937 390794.0 459080.0 770 708.0 \n",
+ "2099 198503 3 213901 174689.0 253113.0 388 317.0 \n",
+ "2100 198502 3 97586 80949.0 114223.0 177 147.0 \n",
+ "2101 198501 3 85489 65918.0 105060.0 155 120.0 \n",
+ "2102 198452 3 84830 60602.0 109058.0 154 110.0 \n",
+ "2103 198451 3 101726 80242.0 123210.0 185 146.0 \n",
+ "2104 198450 3 123680 101401.0 145959.0 225 184.0 \n",
+ "2105 198449 3 101073 81684.0 120462.0 184 149.0 \n",
+ "2106 198448 3 78620 60634.0 96606.0 143 110.0 \n",
+ "2107 198447 3 72029 54274.0 89784.0 131 99.0 \n",
+ "2108 198446 3 87330 67686.0 106974.0 159 123.0 \n",
+ "2109 198445 3 135223 101414.0 169032.0 246 184.0 \n",
+ "2110 198444 3 68422 20056.0 116788.0 125 37.0 \n",
+ "\n",
+ " inc100_up geo_insee geo_name \n",
+ "0 69.0 FR France \n",
+ "1 67.0 FR France \n",
+ "2 68.0 FR France \n",
+ "3 88.0 FR France \n",
+ "4 100.0 FR France \n",
+ "5 101.0 FR France \n",
+ "6 140.0 FR France \n",
+ "7 220.0 FR France \n",
+ "8 331.0 FR France \n",
+ "9 431.0 FR France \n",
+ "10 523.0 FR France \n",
+ "11 548.0 FR France \n",
+ "12 398.0 FR France \n",
+ "13 405.0 FR France \n",
+ "14 370.0 FR France \n",
+ "15 326.0 FR France \n",
+ "16 323.0 FR France \n",
+ "17 220.0 FR France \n",
+ "18 177.0 FR France \n",
+ "19 144.0 FR France \n",
+ "20 127.0 FR France \n",
+ "21 96.0 FR France \n",
+ "22 81.0 FR France \n",
+ "23 63.0 FR France \n",
+ "24 80.0 FR France \n",
+ "25 114.0 FR France \n",
+ "26 131.0 FR France \n",
+ "27 140.0 FR France \n",
+ "28 150.0 FR France \n",
+ "29 151.0 FR France \n",
+ "... ... ... ... \n",
+ "2081 59.0 FR France \n",
+ "2082 64.0 FR France \n",
+ "2083 97.0 FR France \n",
+ "2084 93.0 FR France \n",
+ "2085 80.0 FR France \n",
+ "2086 116.0 FR France \n",
+ "2087 149.0 FR France \n",
+ "2088 281.0 FR France \n",
+ "2089 395.0 FR France \n",
+ "2090 485.0 FR France \n",
+ "2091 544.0 FR France \n",
+ "2092 689.0 FR France \n",
+ "2093 722.0 FR France \n",
+ "2094 762.0 FR France \n",
+ "2095 926.0 FR France \n",
+ "2096 1113.0 FR France \n",
+ "2097 1236.0 FR France \n",
+ "2098 832.0 FR France \n",
+ "2099 459.0 FR France \n",
+ "2100 207.0 FR France \n",
+ "2101 190.0 FR France \n",
+ "2102 198.0 FR France \n",
+ "2103 224.0 FR France \n",
+ "2104 266.0 FR France \n",
+ "2105 219.0 FR France \n",
+ "2106 176.0 FR France \n",
+ "2107 163.0 FR France \n",
+ "2108 195.0 FR France \n",
+ "2109 308.0 FR France \n",
+ "2110 213.0 FR France \n",
+ "\n",
+ "[2110 rows x 10 columns]"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"data = raw_data.dropna().copy()\n",
"data"
@@ -122,7 +2118,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
@@ -152,10 +2148,8 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": 15,
+ "metadata": {},
"outputs": [],
"source": [
"sorted_data = data.set_index('period').sort_index()"
@@ -179,9 +2173,17 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 16,
"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",
@@ -203,6 +2205,8 @@
"metadata": {},
"outputs": [],
"source": [
+ "\n",
+ "sorted_data['inc'] = sorted_data['inc'].astype(int)\n",
"sorted_data['inc'].plot()"
]
},
@@ -252,10 +2256,8 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": 11,
+ "metadata": {},
"outputs": [],
"source": [
"first_august_week = [pd.Period(pd.Timestamp(y, 8, 1), 'W')\n",
@@ -274,7 +2276,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
@@ -298,9 +2300,26 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 13,
"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[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'*'\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": [
"yearly_incidence.plot(style='*')"
]
@@ -314,9 +2333,59 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 19,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1999 1214713082934385324913033696810837170752023524...\n",
+ "2023 1325712222758674989283141202139528781399024192...\n",
+ "1998 1386208617993226184251314542323110189132921693...\n",
+ "2000 1478264071499757760033348191754312430285532418...\n",
+ "2024 1528614641191442666331695382474908563218720036...\n",
+ "1986 1695874882261140389302152798622219276053981949...\n",
+ "2007 1773001572217011071786253289451195013920166732...\n",
+ "2002 1899900299043994663802597362540718113202411896...\n",
+ "1996 1946700905188724963659489513123184991624514980...\n",
+ "2008 1965132418933531177110014494769159851351712987...\n",
+ "2019 2048183919621368150632154915734971747409804877...\n",
+ "2001 2159140516905188559029902243741719338272374002...\n",
+ "1987 2247102731155762105879182159982661528665335163...\n",
+ "2014 2270470947401889129146395027932453719794123911...\n",
+ "2020 2337159215931672101022953172489770918505712277...\n",
+ "2012 2409259024213312417846068365140071702114053748...\n",
+ "1992 2464625165420992372238024297460143732674028185...\n",
+ "2013 2696638164923858827763847775147152025717873186...\n",
+ "1990 2721711479406039466147691202218296246223145343...\n",
+ "2016 2845159415377602291922881784028595131001358518...\n",
+ "2005 2949349616974501440877539103174832268025639158...\n",
+ "1997 3010145354012731674112229259470837710765991811...\n",
+ "2010 3025523151244352498531660460241013321379241212...\n",
+ "2021 3144207319003098396053641402823252186071819424...\n",
+ "2018 3256266724062497279428159716114631494912725124...\n",
+ "2017 3691210015672233342023724065596910598133791390...\n",
+ "2006 3767157228155281244870821034721881239942664726...\n",
+ "2009 3972437872292552190125122429367921957869992590...\n",
+ "2011 3989273267129504926427949545318893611978183311...\n",
+ "1994 4055416337553217298455894361702310492147831380...\n",
+ "2015 4143322923582367226850187714105678583165262248...\n",
+ "1993 4233496340462953638351557480983713535175932409...\n",
+ "1995 5027478642723459455628065949153661587815962140...\n",
+ "2004 5164161915042194150410951147351481126592308622...\n",
+ "2003 5455108726702843212616791240970671598981371103...\n",
+ "1988 8233721564046631614979061120816782323282464142...\n",
+ "2022 8567106658699673786038055781795301141915052179...\n",
+ "1989 8758703379374950779775391553735243437303988246...\n",
+ "1991 8811399020193425424051111461561820433197231301...\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"yearly_incidence.sort_values()"
]
diff --git a/module3/exo3/Cholera_Deaths.dbf b/module3/exo3/Cholera_Deaths.dbf
new file mode 100644
index 0000000000000000000000000000000000000000..fa87c71bd68314ed337415fb01daa179adeaf5d9
Binary files /dev/null and b/module3/exo3/Cholera_Deaths.dbf differ
diff --git a/module3/exo3/Cholera_Deaths.prj b/module3/exo3/Cholera_Deaths.prj
new file mode 100644
index 0000000000000000000000000000000000000000..9c24ee3b83411a6b7b3824844482477578ed1d96
--- /dev/null
+++ b/module3/exo3/Cholera_Deaths.prj
@@ -0,0 +1 @@
+PROJCS["OSGB 1936 / British National Grid",GEOGCS["OSGB 1936",DATUM["OSGB 1936",SPHEROID["Airy 1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0.0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["false_easting",400000.0],PARAMETER["false_northing",-100000.0],PARAMETER["central_meridian",-2.0],PARAMETER["scale_factor",0.9996012717],PARAMETER["latitude_of_origin",49.0],UNIT["m",1.0]]
\ No newline at end of file
diff --git a/module3/exo3/Cholera_Deaths.sbn b/module3/exo3/Cholera_Deaths.sbn
new file mode 100644
index 0000000000000000000000000000000000000000..78b67b87f59ebc0eaaff28cc8aef777f625fa7f4
Binary files /dev/null and b/module3/exo3/Cholera_Deaths.sbn differ
diff --git a/module3/exo3/Cholera_Deaths.sbx b/module3/exo3/Cholera_Deaths.sbx
new file mode 100644
index 0000000000000000000000000000000000000000..2e583478e3601c51335e776bf238aa69dc00d2b3
Binary files /dev/null and b/module3/exo3/Cholera_Deaths.sbx differ
diff --git a/module3/exo3/Cholera_Deaths.shp b/module3/exo3/Cholera_Deaths.shp
new file mode 100644
index 0000000000000000000000000000000000000000..36257407885624121ec93ac267072b797c6f9ac9
Binary files /dev/null and b/module3/exo3/Cholera_Deaths.shp differ
diff --git a/module3/exo3/Cholera_Deaths.shx b/module3/exo3/Cholera_Deaths.shx
new file mode 100644
index 0000000000000000000000000000000000000000..1871dbee2783331929f391f91928cd33e3c12e99
Binary files /dev/null and b/module3/exo3/Cholera_Deaths.shx differ
diff --git a/module3/exo3/GERENTON_notebook.ipynb b/module3/exo3/GERENTON_notebook.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..a1fb10907ec53d9d407bd1c992fddd1b453bdd95
--- /dev/null
+++ b/module3/exo3/GERENTON_notebook.ipynb
@@ -0,0 +1,557 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Analyse de l’épidémie de choléra à Soho (1854) — Reproduction de la carte de John Snow - Victor GERENTON\n",
+ "\n",
+ "Ce notebook a pour objectif de reproduire la célèbre carte de John Snow montrant la répartition des décès dus au choléra à Soho en 1854. À l'aide de données géographiques historiques et d'outils modernes de visualisation, nous allons :\n",
+ "\n",
+ "1. Visualiser les lieux de décès et les pompes à eau sur une carte interactive.\n",
+ "2. Explorer des méthodes d'analyse spatiale pour mettre en évidence le rôle central de la pompe de Broad Street.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Installation des biliothèques\n",
+ "\n",
+ "L'ensembles des biliothèques et leur version respective se trouvent dans le fichier 'requirements.txt'"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: geopandas==0.9.0 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (0.9.0)\n",
+ "Requirement already satisfied: folium==0.12.1 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (0.12.1)\n",
+ "Requirement already satisfied: branca==0.4.2 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 3)) (0.4.2)\n",
+ "Requirement already satisfied: rasterio==1.2.10 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 4)) (1.2.10)\n",
+ "Requirement already satisfied: pandas==1.1.5 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 5)) (1.1.5)\n",
+ "Requirement already satisfied: shapely==1.7.1 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 6)) (1.7.1)\n",
+ "Requirement already satisfied: fiona==1.8.20 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 7)) (1.8.20)\n",
+ "Requirement already satisfied: pyproj==2.6 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 8)) (2.6.0)\n",
+ "Requirement already satisfied: numpy==1.19.5 in /opt/conda/lib/python3.6/site-packages (from -r requirements.txt (line 9)) (1.19.5)\n",
+ "Requirement already satisfied: jinja2>=2.9 in /opt/conda/lib/python3.6/site-packages (from folium==0.12.1->-r requirements.txt (line 2)) (2.11.0)\n",
+ "Requirement already satisfied: requests in /opt/conda/lib/python3.6/site-packages (from folium==0.12.1->-r requirements.txt (line 2)) (2.23.0)\n",
+ "Requirement already satisfied: cligj>=0.5 in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (0.7.2)\n",
+ "Requirement already satisfied: attrs in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (19.3.0)\n",
+ "Requirement already satisfied: certifi in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (2020.4.5.1)\n",
+ "Requirement already satisfied: affine in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (2.3.1)\n",
+ "Requirement already satisfied: setuptools in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (45.2.0.post20200209)\n",
+ "Requirement already satisfied: click-plugins in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (1.1.1)\n",
+ "Requirement already satisfied: click>=4.0 in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (8.0.4)\n",
+ "Requirement already satisfied: snuggs>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from rasterio==1.2.10->-r requirements.txt (line 4)) (1.4.7)\n",
+ "Requirement already satisfied: python-dateutil>=2.7.3 in /opt/conda/lib/python3.6/site-packages (from pandas==1.1.5->-r requirements.txt (line 5)) (2.8.1)\n",
+ "Requirement already satisfied: pytz>=2017.2 in /opt/conda/lib/python3.6/site-packages (from pandas==1.1.5->-r requirements.txt (line 5)) (2019.3)\n",
+ "Requirement already satisfied: six>=1.7 in /opt/conda/lib/python3.6/site-packages (from fiona==1.8.20->-r requirements.txt (line 7)) (1.14.0)\n",
+ "Requirement already satisfied: munch in /opt/conda/lib/python3.6/site-packages (from fiona==1.8.20->-r requirements.txt (line 7)) (4.0.0)\n",
+ "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2>=2.9->folium==0.12.1->-r requirements.txt (line 2)) (1.1.1)\n",
+ "Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/lib/python3.6/site-packages (from requests->folium==0.12.1->-r requirements.txt (line 2)) (3.0.4)\n",
+ "Requirement already satisfied: idna<3,>=2.5 in /opt/conda/lib/python3.6/site-packages (from requests->folium==0.12.1->-r requirements.txt (line 2)) (2.9)\n",
+ "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.6/site-packages (from requests->folium==0.12.1->-r requirements.txt (line 2)) (1.25.7)\n",
+ "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /opt/conda/lib/python3.6/site-packages (from click>=4.0->rasterio==1.2.10->-r requirements.txt (line 4)) (4.8.3)\n",
+ "Requirement already satisfied: pyparsing>=2.1.6 in /opt/conda/lib/python3.6/site-packages (from snuggs>=1.4.1->rasterio==1.2.10->-r requirements.txt (line 4)) (2.4.6)\n",
+ "Requirement already satisfied: zipp>=0.5 in /opt/conda/lib/python3.6/site-packages (from importlib-metadata; python_version < \"3.8\"->click>=4.0->rasterio==1.2.10->-r requirements.txt (line 4)) (2.1.0)\n",
+ "Requirement already satisfied: typing-extensions>=3.6.4; python_version < \"3.8\" in /opt/conda/lib/python3.6/site-packages (from importlib-metadata; python_version < \"3.8\"->click>=4.0->rasterio==1.2.10->-r requirements.txt (line 4)) (4.1.1)\n",
+ "----------------------------------------\n",
+ "Toutes les bibliothèques sont installées !\n"
+ ]
+ }
+ ],
+ "source": [
+ "!pip install -r requirements.txt\n",
+ "\n",
+ "print((\"----------------------------------------\"))\n",
+ "print(\"Toutes les bibliothèques sont installées !\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Importation des biliothèques"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Toutes les bibliothèques sont importées !\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Importation des bibliothèques nécessaires à notre analyse\n",
+ "import geopandas as gpd\n",
+ "import folium\n",
+ "import matplotlib.pyplot as plt\n",
+ "from shapely.geometry import Point\n",
+ "\n",
+ "print(\"Toutes les bibliothèques sont importées !\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Étape 1 — Chargement des données\n",
+ "\n",
+ "Nous utilisons ici les fichiers Shapefile fournis dans l’archive `SnowGIS_SHP` provenant de ce site :\n",
+ "\n",
+ "https://blog.rtwilson.com/john-snows-cholera-data-in-more-formats/\n",
+ "\n",
+ "\n",
+ "Ces fichiers contiennent les données géographiques suivantes :\n",
+ "\n",
+ "- `Cholera_Deaths.shp` : emplacements des décès dus au choléra, avec le nombre de morts par adresse.\n",
+ "- `Pumps.shp` : emplacements des pompes à eau publiques dans le quartier de Soho.\n",
+ "\n",
+ "Nous utilisons la bibliothèque `GeoPandas` pour lire ces fichiers et vérifier que les données sont bien chargées avec le bon système de coordonnées.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Id \n",
+ " Count \n",
+ " geometry \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 3 \n",
+ " POINT (529308.741 181031.352) \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2 \n",
+ " POINT (529312.164 181025.172) \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1 \n",
+ " POINT (529314.382 181020.294) \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1 \n",
+ " POINT (529317.380 181014.259) \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 4 \n",
+ " POINT (529320.675 181007.872) \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Id Count geometry\n",
+ "0 0 3 POINT (529308.741 181031.352)\n",
+ "1 0 2 POINT (529312.164 181025.172)\n",
+ "2 0 1 POINT (529314.382 181020.294)\n",
+ "3 0 1 POINT (529317.380 181014.259)\n",
+ "4 0 4 POINT (529320.675 181007.872)"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Id \n",
+ " geometry \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " POINT (529396.539 181025.063) \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " POINT (529192.538 181079.391) \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " POINT (529183.740 181193.735) \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " POINT (529748.911 180924.207) \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " POINT (529613.205 180896.804) \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Id geometry\n",
+ "0 0 POINT (529396.539 181025.063)\n",
+ "1 0 POINT (529192.538 181079.391)\n",
+ "2 0 POINT (529183.740 181193.735)\n",
+ "3 0 POINT (529748.911 180924.207)\n",
+ "4 0 POINT (529613.205 180896.804)"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "CRS des décès : epsg:27700\n",
+ "CRS des pompes : epsg:27700\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Chargement des shapefiles avec GeoPandas\n",
+ "deaths = gpd.read_file(\"Cholera_Deaths.shp\")\n",
+ "pumps = gpd.read_file(\"Pumps.shp\")\n",
+ "\n",
+ "# Aperçu des données\n",
+ "display(deaths.head())\n",
+ "display(pumps.head())\n",
+ "\n",
+ "# Vérification du système de coordonnées (CRS)\n",
+ "print(\"CRS des décès :\", deaths.crs)\n",
+ "print(\"CRS des pompes :\", pumps.crs)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Étape 2 — Conversion des coordonnées pour Folium\n",
+ "\n",
+ "Folium utilise sur le système de coordonnées **WGS 84** (latitude/longitude), qui est utilisé par défaut dans les cartes web comme OpenStreetMap. \n",
+ "Cependant, nos fichiers shapefile utilisent actuellement le système **British National Grid** (EPSG:27700), qui fonctionne avec des coordonnées en mètres, propres au Royaume-Uni.\n",
+ "\n",
+ "Afin de pouvoir afficher correctement nos données sur une carte interactive avec Folium, il est nécessaire de les convertir vers le système de projection WGS 84 (**EPSG:4326**). \n",
+ "Cette opération est appelée une **reprojection**. Elle permet à nos points d'apparaître au bon endroit sur la carte.\n",
+ "\n",
+ "Nous réalisons cette conversion avec la méthode .to_crs(epsg=4326) de GeoPandas, qui transforme les coordonnées de chaque géométrie."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Id \n",
+ " Count \n",
+ " geometry \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 3 \n",
+ " POINT (-0.13793 51.51342) \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2 \n",
+ " POINT (-0.13788 51.51336) \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1 \n",
+ " POINT (-0.13785 51.51332) \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1 \n",
+ " POINT (-0.13781 51.51326) \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 4 \n",
+ " POINT (-0.13777 51.51320) \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Id Count geometry\n",
+ "0 0 3 POINT (-0.13793 51.51342)\n",
+ "1 0 2 POINT (-0.13788 51.51336)\n",
+ "2 0 1 POINT (-0.13785 51.51332)\n",
+ "3 0 1 POINT (-0.13781 51.51326)\n",
+ "4 0 4 POINT (-0.13777 51.51320)"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Reprojection en EPSG:4326 (latitude/longitude)\n",
+ "deaths_wgs84 = deaths.to_crs(epsg=4326)\n",
+ "pumps_wgs84 = pumps.to_crs(epsg=4326)\n",
+ "\n",
+ "# Aperçu pour vérification\n",
+ "deaths_wgs84.head()\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Étape 3 — Création de la carte interactive\n",
+ "\n",
+ "Nous utilisons la bibliothèque `folium` pour créer une carte interactive centrée sur le quartier de Soho.\n",
+ "\n",
+ "- Les **cercles rouges** représentent les décès dus au choléra. Leur taille est proportionnelle au nombre de morts enregistrés à cette adresse (`Count`).\n",
+ "- Les **marqueurs bleus** représentent les pompes à eau publiques.\n",
+ "\n",
+ "Cette visualisation permet de retrouver la logique de la carte originale de John Snow, en montrant la concentration des décès autour de certaines pompes.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "Make this Notebook Trusted to load map: File -> Trust Notebook
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Obtenir le centre de la carte en prenant le centre des décès\n",
+ "map_center = [deaths_wgs84.geometry.y.mean(), deaths_wgs84.geometry.x.mean()]\n",
+ "\n",
+ "# Créer la carte Folium centrée sur Soho\n",
+ "m = folium.Map(location=map_center, zoom_start=17, tiles='cartodbpositron')\n",
+ "\n",
+ "# Ajouter les décès avec des cercles proportionnels à Count\n",
+ "for _, row in deaths_wgs84.iterrows():\n",
+ " folium.CircleMarker(\n",
+ " location=[row.geometry.y, row.geometry.x],\n",
+ " radius=row['Count'] * 1.5, # multiplier pour avoir une taille visible\n",
+ " color='red',\n",
+ " fill=True,\n",
+ " fill_color='red',\n",
+ " fill_opacity=0.6,\n",
+ " popup=f\"{row['Count']} décès\"\n",
+ " ).add_to(m)\n",
+ "\n",
+ "# Ajouter les pompes avec une icône bleue\n",
+ "for _, row in pumps_wgs84.iterrows():\n",
+ " folium.Marker(\n",
+ " location=[row.geometry.y, row.geometry.x],\n",
+ " icon=folium.Icon(color='blue', icon='tint', prefix='fa'),\n",
+ " popup=\"Pompe à eau\"\n",
+ " ).add_to(m)\n",
+ "\n",
+ "# Afficher la carte\n",
+ "m\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Étape 4 — Visualisation de la densité des décès avec une Heatmap\n",
+ "\n",
+ "Pour identifier visuellement les zones les plus touchées par l’épidémie, nous utilisons une **carte de chaleur** (heatmap). \n",
+ "Chaque point de décès est pondéré par le nombre de morts (`Count`). On observe ainsi une zone de concentration très nette autour d'une certaine pompe.\n",
+ "On voyait déjà cela avec les cercles mais je trouve la heat map plus parlante.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "Make this Notebook Trusted to load map: File -> Trust Notebook
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from folium.plugins import HeatMap\n",
+ "\n",
+ "# Extraire les points avec leur pondération\n",
+ "heat_data = [[row.geometry.y, row.geometry.x, row['Count']] for _, row in deaths_wgs84.iterrows()]\n",
+ "\n",
+ "# Nouvelle carte centrée sur Soho\n",
+ "m_heat = folium.Map(location=map_center, zoom_start=17, tiles='cartodbpositron')\n",
+ "\n",
+ "# Ajouter la heatmap des décès\n",
+ "HeatMap(heat_data, radius=15, blur=10, max_zoom=18).add_to(m_heat)\n",
+ "\n",
+ "# Ajouter les pompes pour référence\n",
+ "for _, row in pumps_wgs84.iterrows():\n",
+ " folium.Marker(\n",
+ " location=[row.geometry.y, row.geometry.x],\n",
+ " icon=folium.Icon(color='blue', icon='tint', prefix='fa'),\n",
+ " popup=\"Pompe à eau\"\n",
+ " ).add_to(m_heat)\n",
+ "\n",
+ "# Afficher la heatmap\n",
+ "m_heat\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Conclusion\n",
+ "\n",
+ "Grâce à nos outils de visualisation de données géospatiales, nous avons pu reproduire et enrichir l’analyse historique de John Snow sur l’épidémie de choléra de 1854 à Soho.\n",
+ "\n",
+ "- Nous avons visualisé les lieux de décès avec des cercles proportionnels au nombre de morts.\n",
+ "- Nous avons localisé les pompes à eau sur la même carte.\n",
+ "- La carte de chaleur a clairement mis en évidence une forte concentration de décès autour d'une pompe spécifique, celle de Broad Street.\n",
+ "\n",
+ "\n",
+ "Victor Gérenton\n",
+ "---\n"
+ ]
+ }
+ ],
+ "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": 5
+}
diff --git a/module3/exo3/OSMap.tfw b/module3/exo3/OSMap.tfw
new file mode 100644
index 0000000000000000000000000000000000000000..0c98219dff65c33cbff2a34e40ba576281c53a76
--- /dev/null
+++ b/module3/exo3/OSMap.tfw
@@ -0,0 +1,6 @@
+1.0000000000
+0.0000000000
+0.0000000000
+-1.0000000000
+528765.5000000000
+181518.5000000000
diff --git a/module3/exo3/OSMap.tif b/module3/exo3/OSMap.tif
new file mode 100644
index 0000000000000000000000000000000000000000..543449fca3bca09d3dca661a517aa286b5d05675
Binary files /dev/null and b/module3/exo3/OSMap.tif differ
diff --git a/module3/exo3/OSMap_Grayscale.tfw b/module3/exo3/OSMap_Grayscale.tfw
new file mode 100644
index 0000000000000000000000000000000000000000..cec30fb38b277a4ac9786595102b4934713d41ae
--- /dev/null
+++ b/module3/exo3/OSMap_Grayscale.tfw
@@ -0,0 +1,6 @@
+1.0000000000
+0.0000000000
+0.0000000000
+-0.9841121495
+528765.5000000000
+181518.5079439252
diff --git a/module3/exo3/OSMap_Grayscale.tif b/module3/exo3/OSMap_Grayscale.tif
new file mode 100644
index 0000000000000000000000000000000000000000..b34cfb5c22ddcfb781d834953d0e359f5ab9208a
Binary files /dev/null and b/module3/exo3/OSMap_Grayscale.tif differ
diff --git a/module3/exo3/OSMap_Grayscale.tif.aux.xml b/module3/exo3/OSMap_Grayscale.tif.aux.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1219c2595f62f66ae1e6b2ccfcd156ea838c0d80
--- /dev/null
+++ b/module3/exo3/OSMap_Grayscale.tif.aux.xml
@@ -0,0 +1,11 @@
+
+
+
+ NEAREST
+
+
+
+ THEMATIC
+
+
+
diff --git a/module3/exo3/OSMap_Grayscale.tif.ovr b/module3/exo3/OSMap_Grayscale.tif.ovr
new file mode 100644
index 0000000000000000000000000000000000000000..d9ec763f2927c90acf04fdaecddd3aedb1fc0f61
Binary files /dev/null and b/module3/exo3/OSMap_Grayscale.tif.ovr differ
diff --git a/module3/exo3/Pumps.dbf b/module3/exo3/Pumps.dbf
new file mode 100644
index 0000000000000000000000000000000000000000..e6d3a34a64f072d0443c885e1b26ef2a7900cdc0
Binary files /dev/null and b/module3/exo3/Pumps.dbf differ
diff --git a/module3/exo3/Pumps.prj b/module3/exo3/Pumps.prj
new file mode 100644
index 0000000000000000000000000000000000000000..9c24ee3b83411a6b7b3824844482477578ed1d96
--- /dev/null
+++ b/module3/exo3/Pumps.prj
@@ -0,0 +1 @@
+PROJCS["OSGB 1936 / British National Grid",GEOGCS["OSGB 1936",DATUM["OSGB 1936",SPHEROID["Airy 1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0.0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["false_easting",400000.0],PARAMETER["false_northing",-100000.0],PARAMETER["central_meridian",-2.0],PARAMETER["scale_factor",0.9996012717],PARAMETER["latitude_of_origin",49.0],UNIT["m",1.0]]
\ No newline at end of file
diff --git a/module3/exo3/Pumps.sbx b/module3/exo3/Pumps.sbx
new file mode 100644
index 0000000000000000000000000000000000000000..c54ddbe4c91094139d3000182f772ef87d4dcbaf
Binary files /dev/null and b/module3/exo3/Pumps.sbx differ
diff --git a/module3/exo3/Pumps.shp b/module3/exo3/Pumps.shp
new file mode 100644
index 0000000000000000000000000000000000000000..eb76199858d5ff403d8b2512a78cb512f1c2fc47
Binary files /dev/null and b/module3/exo3/Pumps.shp differ
diff --git a/module3/exo3/Pumps.shx b/module3/exo3/Pumps.shx
new file mode 100644
index 0000000000000000000000000000000000000000..4cc4dce7a38b6134528db8643ce7a4e6fe70b25d
Binary files /dev/null and b/module3/exo3/Pumps.shx differ
diff --git a/module3/exo3/README.txt b/module3/exo3/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e72abeecf2cc73fac1431c55044d217aae131b20
--- /dev/null
+++ b/module3/exo3/README.txt
@@ -0,0 +1,23 @@
+README file for Snow GIS data
+-----------------------------
+
+This zip file contains a number of GIS layers relating to John Snow's 1854 investigation of a
+Cholera outbreak in London - considered by many to be the first use of geographical analysis
+in an epidemiological study. More details on the history are available at
+http://en.wikipedia.org/wiki/1854_Broad_Street_cholera_outbreak
+
+This file contains a number of GIS layers created from Snow's original map which allow analyses to be
+conducted on the data in modern GIS systems. For example, clustering of cases can be analysed and the
+effect of spatial aggregation in modern anonymised health data releases. Of course, it's also just
+interesting to look at the area, and how little it has changed since 1854.
+
+Files included:
+(Many of the items in the list consist of many actual files (for example .shp, .dbf etc)
+
+* OSMap Raster Modern OS map of the area of the outbreak (from OS Open Data - contains Ordnance Survey data © Crown copyright and database right 2013)
+* OSMap_Greyscale Raster Same as above, but in greyscale for easier visualisation (altered by conversion to greyscale, from OS Open Data - contains Ordnance Survey data © Crown copyright and database right 2013)
+* SnowMap Raster Snow's original map, georeferenced and warped so that it accurately overlays the OS map
+* CholeraDeaths Vector Points for each location of one or more deaths. Attribute value gives number of deaths at that location
+* Pumps Vector Points for each location of a pump
+
+Created and compiled by Robin Wilson (robin@rtwilson.com, www.rtwilson.com/academic) - Jan 2011.
\ No newline at end of file
diff --git a/module3/exo3/SnowMap.tfw b/module3/exo3/SnowMap.tfw
new file mode 100644
index 0000000000000000000000000000000000000000..29214e9db275d3436b1355a3acef39c56884ccbf
--- /dev/null
+++ b/module3/exo3/SnowMap.tfw
@@ -0,0 +1,6 @@
+0.3159420000
+0.0000000000
+0.0000000000
+-0.3159420000
+528865.7464993792
+181433.8952167343
diff --git a/module3/exo3/SnowMap.tif b/module3/exo3/SnowMap.tif
new file mode 100644
index 0000000000000000000000000000000000000000..6c93480f7e00066e896cd1f2e1fccaa800b1fd22
Binary files /dev/null and b/module3/exo3/SnowMap.tif differ
diff --git a/module3/exo3/SnowMap.tif.aux.xml b/module3/exo3/SnowMap.tif.aux.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0acdf5fd960dc437c243e54b42c93f1216db1cbc
--- /dev/null
+++ b/module3/exo3/SnowMap.tif.aux.xml
@@ -0,0 +1,60 @@
+
+
+
+ NEAREST
+
+
+
+
+ -0.5
+ 255.5
+ 256
+ 1
+ 0
+ 1056558|38085|35030|30635|26721|23196|19973|17614|15202|13621|12110|10633|9602|8622|7615|6827|6160|5785|5263|4850|4471|4102|3821|3520|3396|3346|3106|3054|2953|2870|2747|2735|2682|2717|2536|2555|2465|2514|2461|2489|2566|2390|2491|2486|2418|2385|2321|2323|2264|2291|2389|2392|2227|2301|2275|2187|2254|2250|2202|2205|2187|2217|2155|2220|2105|2123|2165|2206|2149|2031|2108|2141|2066|2100|2080|2025|2107|2075|2068|2019|2023|2010|2026|2005|1995|2090|1978|2045|1994|1989|1999|2039|1942|1972|1946|1990|2006|1964|1962|1893|1939|1906|1888|1908|1968|1846|1918|1979|2044|1925|1884|1859|1862|1947|1930|1825|1934|1891|1975|1830|1898|1895|1926|1973|1924|1986|1920|1797|1912|1986|1890|1924|1944|1915|1996|1900|1925|1945|2011|1882|1953|1952|1974|1929|1997|2053|1981|1993|1959|1880|1925|1946|2015|1947|1917|2052|2062|2071|2017|2089|1949|2030|2007|2083|2080|1949|2085|2111|2091|2151|2135|2137|2019|2129|2076|2149|2084|2188|2108|2188|2105|2178|2159|2197|2146|2174|2360|2281|2260|2259|2254|2297|2279|2338|2337|2365|2450|2368|2407|2407|2435|2379|2488|2492|2497|2525|2490|2566|2577|2565|2676|2712|2726|2674|2688|2799|2707|2738|2831|2956|2800|2961|2904|3059|2994|3157|3254|3316|3508|3710|3905|4319|4664|5116|5937|6536|7435|8678|9923|11935|13906|16928|19919|23808|28421|34066|40774|48059|57324|67501|80304|94264|109903|125204|137869|5850359
+
+
+
+ 0
+ 255
+ 207.40977040919
+ 94.77357404896
+
+
+
+
+
+ -0.5
+ 255.5
+ 256
+ 1
+ 0
+ 1056558|38085|35030|30635|26721|23196|19973|17614|15202|13621|12110|10633|9602|8622|7615|6827|6160|5785|5263|4850|4471|4102|3821|3520|3396|3346|3106|3054|2953|2870|2747|2735|2682|2717|2536|2555|2465|2514|2461|2489|2566|2390|2491|2486|2418|2385|2321|2323|2264|2291|2389|2392|2227|2301|2275|2187|2254|2250|2202|2205|2187|2217|2155|2220|2105|2123|2165|2206|2149|2031|2108|2141|2066|2100|2080|2025|2107|2075|2068|2019|2023|2010|2026|2005|1995|2090|1978|2045|1994|1989|1999|2039|1942|1972|1946|1990|2006|1964|1962|1893|1939|1906|1888|1908|1968|1846|1918|1979|2044|1925|1884|1859|1862|1947|1930|1825|1934|1891|1975|1830|1898|1895|1926|1973|1924|1986|1920|1797|1912|1986|1890|1924|1944|1915|1996|1900|1925|1945|2011|1882|1953|1952|1974|1929|1997|2053|1981|1993|1959|1880|1925|1946|2015|1947|1917|2052|2062|2071|2017|2089|1949|2030|2007|2083|2080|1949|2085|2111|2091|2151|2135|2137|2019|2129|2076|2149|2084|2188|2108|2188|2105|2178|2159|2197|2146|2174|2360|2281|2260|2259|2254|2297|2279|2338|2337|2365|2450|2368|2407|2407|2435|2379|2488|2492|2497|2525|2490|2566|2577|2565|2676|2712|2726|2674|2688|2799|2707|2738|2831|2956|2800|2961|2904|3059|2994|3157|3254|3316|3508|3710|3905|4319|4664|5116|5937|6536|7435|8678|9923|11935|13906|16928|19919|23808|28421|34066|40774|48059|57324|67501|80304|94264|109903|125204|137869|5850359
+
+
+
+ 0
+ 255
+ 207.40977040919
+ 94.77357404896
+
+
+
+
+
+ -0.5
+ 255.5
+ 256
+ 1
+ 0
+ 1056558|38085|35030|30635|26721|23196|19973|17614|15202|13621|12110|10633|9602|8622|7615|6827|6160|5785|5263|4850|4471|4102|3821|3520|3396|3346|3106|3054|2953|2870|2747|2735|2682|2717|2536|2555|2465|2514|2461|2489|2566|2390|2491|2486|2418|2385|2321|2323|2264|2291|2389|2392|2227|2301|2275|2187|2254|2250|2202|2205|2187|2217|2155|2220|2105|2123|2165|2206|2149|2031|2108|2141|2066|2100|2080|2025|2107|2075|2068|2019|2023|2010|2026|2005|1995|2090|1978|2045|1994|1989|1999|2039|1942|1972|1946|1990|2006|1964|1962|1893|1939|1906|1888|1908|1968|1846|1918|1979|2044|1925|1884|1859|1862|1947|1930|1825|1934|1891|1975|1830|1898|1895|1926|1973|1924|1986|1920|1797|1912|1986|1890|1924|1944|1915|1996|1900|1925|1945|2011|1882|1953|1952|1974|1929|1997|2053|1981|1993|1959|1880|1925|1946|2015|1947|1917|2052|2062|2071|2017|2089|1949|2030|2007|2083|2080|1949|2085|2111|2091|2151|2135|2137|2019|2129|2076|2149|2084|2188|2108|2188|2105|2178|2159|2197|2146|2174|2360|2281|2260|2259|2254|2297|2279|2338|2337|2365|2450|2368|2407|2407|2435|2379|2488|2492|2497|2525|2490|2566|2577|2565|2676|2712|2726|2674|2688|2799|2707|2738|2831|2956|2800|2961|2904|3059|2994|3157|3254|3316|3508|3710|3905|4319|4664|5116|5937|6536|7435|8678|9923|11935|13906|16928|19919|23808|28421|34066|40774|48059|57324|67501|80304|94264|109903|125204|137869|5850359
+
+
+
+ 0
+ 255
+ 207.40977040919
+ 94.77357404896
+
+
+
diff --git a/module3/exo3/SnowMap.tif.ovr b/module3/exo3/SnowMap.tif.ovr
new file mode 100644
index 0000000000000000000000000000000000000000..7b5ea01f132c0be8255d51618a2bc4f8f834be05
Binary files /dev/null and b/module3/exo3/SnowMap.tif.ovr differ
diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb
deleted file mode 100644
index 0bbbe371b01e359e381e43239412d77bf53fb1fb..0000000000000000000000000000000000000000
--- a/module3/exo3/exercice.ipynb
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "cells": [],
- "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.3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
-
diff --git a/module3/exo3/exercice_R_en.org b/module3/exo3/exercice_R_en.org
deleted file mode 100644
index 2b73d64e82dad485ab562f8bda6434ffa7b68d27..0000000000000000000000000000000000000000
--- a/module3/exo3/exercice_R_en.org
+++ /dev/null
@@ -1,81 +0,0 @@
-#+TITLE: Your title
-#+AUTHOR: Your name
-#+DATE: Today's date
-#+LANGUAGE: en
-# #+PROPERTY: header-args :eval never-export
-
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-
-* Some explanations
-
-This is an org-mode document with code examples in R. Once opened in
-Emacs, this document can easily be exported to HTML, PDF, and Office
-formats. For more information on org-mode, see
-https://orgmode.org/guide/.
-
-When you type the shortcut =C-c C-e h o=, this document will be
-exported as HTML. All the code in it will be re-executed, and the
-results will be retrieved and included into the exported document. If
-you do not want to re-execute all code each time, you can delete the #
-and the space before ~#+PROPERTY:~ in the header of this document.
-
-Like we showed in the video, R code is included as follows (and is
-exxecuted by typing ~C-c C-c~):
-
-#+begin_src R :results output :exports both
-print("Hello world!")
-#+end_src
-
-#+RESULTS:
-: [1] "Hello world!"
-
-And now the same but in an R session. This is the most frequent
-situation, because R is really an interactive language. With a
-session, R's state, i.e. the values of all the variables, remains
-persistent from one code block to the next. The code is still executed
-using ~C-c C-c~.
-
-#+begin_src R :results output :session *R* :exports both
-summary(cars)
-#+end_src
-
-#+RESULTS:
-: speed dist
-: Min. : 4.0 Min. : 2.00
-: 1st Qu.:12.0 1st Qu.: 26.00
-: Median :15.0 Median : 36.00
-: Mean :15.4 Mean : 42.98
-: 3rd Qu.:19.0 3rd Qu.: 56.00
-: Max. :25.0 Max. :120.00
-
-Finally, an example for graphical output:
-#+begin_src R :results output graphics :file "./cars.png" :exports results :width 600 :height 400 :session *R*
-plot(cars)
-#+end_src
-
-#+RESULTS:
-[[file:./cars.png]]
-
-Note the parameter ~:exports results~, which indicates that the code
-will not appear in the exported document. We recommend that in the
-context of this MOOC, you always leave this parameter setting as
-~:exports both~, because we want your analyses to be perfectly
-transparent and reproducible.
-
-Watch out: the figure generated by the code block is /not/ stored in
-the org document. It's a plain file, here named ~cars.png~. You have
-to commit it explicitly if you want your analysis to be legible and
-understandable on GitLab.
-
-Finally, don't forget that we provide in the resource section of this
-MOOC a configuration with a few keyboard shortcuts that allow you to
-quickly create code blocks in R by typing ~
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-
-* Quelques explications
-
-Ceci est un document org-mode avec quelques exemples de code
-R. Une fois ouvert dans emacs, ce document peut aisément être
-exporté au format HTML, PDF, et Office. Pour plus de détails sur
-org-mode vous pouvez consulter https://orgmode.org/guide/.
-
-Lorsque vous utiliserez le raccourci =C-c C-e h o=, ce document sera
-compilé en html. Tout le code contenu sera ré-exécuté, les résultats
-récupérés et inclus dans un document final. Si vous ne souhaitez pas
-ré-exécuter tout le code à chaque fois, il vous suffit de supprimer
-le # et l'espace qui sont devant le ~#+PROPERTY:~ au début de ce
-document.
-
-Comme nous vous l'avons montré dans la vidéo, on inclut du code
-R de la façon suivante (et on l'exécute en faisant ~C-c C-c~):
-
-#+begin_src R :results output :exports both
-print("Hello world!")
-#+end_src
-
-#+RESULTS:
-: [1] "Hello world!"
-
-Voici la même chose, mais avec une session R (c'est le cas le
-plus courant, R étant vraiment un langage interactif), donc une
-persistance d'un bloc à l'autre (et on l'exécute toujours en faisant
-~C-c C-c~).
-
-#+begin_src R :results output :session *R* :exports both
-summary(cars)
-#+end_src
-
-#+RESULTS:
-: speed dist
-: Min. : 4.0 Min. : 2.00
-: 1st Qu.:12.0 1st Qu.: 26.00
-: Median :15.0 Median : 36.00
-: Mean :15.4 Mean : 42.98
-: 3rd Qu.:19.0 3rd Qu.: 56.00
-: Max. :25.0 Max. :120.00
-
-Et enfin, voici un exemple de sortie graphique:
-#+begin_src R :results output graphics :file "./cars.png" :exports results :width 600 :height 400 :session *R*
-plot(cars)
-#+end_src
-
-#+RESULTS:
-[[file:./cars.png]]
-
-Vous remarquerez le paramètre ~:exports results~ qui indique que le code
-ne doit pas apparaître dans la version finale du document. Nous vous
-recommandons dans le cadre de ce MOOC de ne pas changer ce paramètre
-(indiquer ~both~) car l'objectif est que vos analyses de données soient
-parfaitement transparentes pour être reproductibles.
-
-Attention, la figure ainsi générée n'est pas stockée dans le document
-org. C'est un fichier ordinaire, ici nommé ~cars.png~. N'oubliez pas
-de le committer si vous voulez que votre analyse soit lisible et
-compréhensible sur GitLab.
-
-Enfin, pour les prochains exercices, nous ne vous fournirons pas
-forcément de fichier de départ, ça sera à vous de le créer, par
-exemple en repartant de ce document et de le commiter vers
-gitlab. N'oubliez pas que nous vous fournissons dans les ressources de
-ce MOOC une configuration avec un certain nombre de raccourcis
-claviers permettant de créer rapidement les blocs de code R (en
-faisant ~.
-
-When you click on the button **Knit**, the document will be compiled in order to re-execute the R code and to include the results into the final document. As we have shown in the video, R code is inserted as follows:
-
-```{r cars}
-summary(cars)
-```
-
-It is also straightforward to include figures. For example:
-
-```{r pressure, echo=FALSE}
-plot(pressure)
-```
-
-Note the parameter `echo = FALSE` that indicates that the code will not appear in the final version of the document. We recommend not to use this parameter in the context of this MOOC, because we want your data analyses to be perfectly transparent and reproducible.
-
-Since the results are not stored in Rmd files, you should generate an HTML or PDF version of your exercises and commit them. Otherwise reading and checking your analysis will be difficult for anyone else but you.
-
-Now it's your turn! You can delete all this information and replace it by your computational document.
diff --git a/module3/exo3/exercice_en.ipynb b/module3/exo3/exercice_en.ipynb
deleted file mode 100644
index 0bbbe371b01e359e381e43239412d77bf53fb1fb..0000000000000000000000000000000000000000
--- a/module3/exo3/exercice_en.ipynb
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "cells": [],
- "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.3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
-
diff --git a/module3/exo3/exercice_fr.Rmd b/module3/exo3/exercice_fr.Rmd
deleted file mode 100644
index 7eece5e296bb586e88166aa8a263ca75b44c2b9e..0000000000000000000000000000000000000000
--- a/module3/exo3/exercice_fr.Rmd
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: "Votre titre"
-author: "Votre nom"
-date: "La date du jour"
-output: html_document
----
-
-
-```{r setup, include=FALSE}
-knitr::opts_chunk$set(echo = TRUE)
-```
-
-## Quelques explications
-
-Ceci est un document R markdown que vous pouvez aisément exporter au format HTML, PDF, et MS Word. Pour plus de détails sur R Markdown consultez .
-
-Lorsque vous cliquerez sur le bouton **Knit** ce document sera compilé afin de ré-exécuter le code R et d'inclure les résultats dans un document final. Comme nous vous l'avons montré dans la vidéo, on inclue du code R de la façon suivante:
-
-```{r cars}
-summary(cars)
-```
-
-Et on peut aussi aisément inclure des figures. Par exemple:
-
-```{r pressure, echo=FALSE}
-plot(pressure)
-```
-
-Vous remarquerez le paramètre `echo = FALSE` qui indique que le code ne doit pas apparaître dans la version finale du document. Nous vous recommandons dans le cadre de ce MOOC de ne pas utiliser ce paramètre car l'objectif est que vos analyses de données soient parfaitement transparentes pour être reproductibles.
-
-Comme les résultats ne sont pas stockés dans les fichiers Rmd, pour faciliter la relecture de vos analyses par d'autres personnes, vous aurez donc intérêt à générer un HTML ou un PDF et à le commiter.
-
-Maintenant, à vous de jouer! Vous pouvez effacer toutes ces informations et les remplacer par votre document computationnel.
diff --git a/module3/exo3/exercice_fr.ipynb b/module3/exo3/exercice_fr.ipynb
deleted file mode 100644
index 0bbbe371b01e359e381e43239412d77bf53fb1fb..0000000000000000000000000000000000000000
--- a/module3/exo3/exercice_fr.ipynb
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "cells": [],
- "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.3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
-
diff --git a/module3/exo3/exercice_python_en.org b/module3/exo3/exercice_python_en.org
deleted file mode 100644
index 5782f493934678ba782fb65634a4d86e5f3adefc..0000000000000000000000000000000000000000
--- a/module3/exo3/exercice_python_en.org
+++ /dev/null
@@ -1,94 +0,0 @@
-#+TITLE: Your title
-#+AUTHOR: Your name
-#+DATE: Today's date
-#+LANGUAGE: en
-# #+PROPERTY: header-args :eval never-export
-
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-
-* Some explanations
-
-This is an org-mode document with code examples in R. Once opened in
-Emacs, this document can easily be exported to HTML, PDF, and Office
-formats. For more information on org-mode, see
-https://orgmode.org/guide/.
-
-When you type the shortcut =C-c C-e h o=, this document will be
-exported as HTML. All the code in it will be re-executed, and the
-results will be retrieved and included into the exported document. If
-you do not want to re-execute all code each time, you can delete the #
-and the space before ~#+PROPERTY:~ in the header of this document.
-
-Like we showed in the video, Python code is included as follows (and
-is exxecuted by typing ~C-c C-c~):
-
-#+begin_src python :results output :exports both
-print("Hello world!")
-#+end_src
-
-#+RESULTS:
-: Hello world!
-
-And now the same but in an Python session. With a session, Python's
-state, i.e. the values of all the variables, remains persistent from
-one code block to the next. The code is still executed using ~C-c
-C-c~.
-
-#+begin_src python :results output :session :exports both
-import numpy
-x=numpy.linspace(-15,15)
-print(x)
-#+end_src
-
-#+RESULTS:
-#+begin_example
-[-15. -14.3877551 -13.7755102 -13.16326531 -12.55102041
- -11.93877551 -11.32653061 -10.71428571 -10.10204082 -9.48979592
- -8.87755102 -8.26530612 -7.65306122 -7.04081633 -6.42857143
- -5.81632653 -5.20408163 -4.59183673 -3.97959184 -3.36734694
- -2.75510204 -2.14285714 -1.53061224 -0.91836735 -0.30612245
- 0.30612245 0.91836735 1.53061224 2.14285714 2.75510204
- 3.36734694 3.97959184 4.59183673 5.20408163 5.81632653
- 6.42857143 7.04081633 7.65306122 8.26530612 8.87755102
- 9.48979592 10.10204082 10.71428571 11.32653061 11.93877551
- 12.55102041 13.16326531 13.7755102 14.3877551 15. ]
-#+end_example
-
-Finally, an example for graphical output:
-#+begin_src python :results output file :session :var matplot_lib_filename="./cosxsx.png" :exports results
-import matplotlib.pyplot as plt
-
-plt.figure(figsize=(10,5))
-plt.plot(x,numpy.cos(x)/x)
-plt.tight_layout()
-
-plt.savefig(matplot_lib_filename)
-print(matplot_lib_filename)
-#+end_src
-
-#+RESULTS:
-[[file:./cosxsx.png]]
-
-Note the parameter ~:exports results~, which indicates that the code
-will not appear in the exported document. We recommend that in the
-context of this MOOC, you always leave this parameter setting as
-~:exports both~, because we want your analyses to be perfectly
-transparent and reproducible.
-
-Watch out: the figure generated by the code block is /not/ stored in
-the org document. It's a plain file, here named ~cosxsx.png~. You have
-to commit it explicitly if you want your analysis to be legible and
-understandable on GitLab.
-
-Finally, don't forget that we provide in the resource section of this
-MOOC a configuration with a few keyboard shortcuts that allow you to
-quickly create code blocks in Python by typing ~
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-#+HTML_HEAD:
-
-* Quelques explications
-
-Ceci est un document org-mode avec quelques exemples de code
-python. Une fois ouvert dans emacs, ce document peut aisément être
-exporté au format HTML, PDF, et Office. Pour plus de détails sur
-org-mode vous pouvez consulter https://orgmode.org/guide/.
-
-Lorsque vous utiliserez le raccourci =C-c C-e h o=, ce document sera
-compilé en html. Tout le code contenu sera ré-exécuté, les résultats
-récupérés et inclus dans un document final. Si vous ne souhaitez pas
-ré-exécuter tout le code à chaque fois, il vous suffit de supprimer
-le # et l'espace qui sont devant le ~#+PROPERTY:~ au début de ce
-document.
-
-Comme nous vous l'avons montré dans la vidéo, on inclue du code
-python de la façon suivante (et on l'exécute en faisant ~C-c C-c~):
-
-#+begin_src python :results output :exports both
-print("Hello world!")
-#+end_src
-
-#+RESULTS:
-: Hello world!
-
-Voici la même chose, mais avec une session python, donc une
-persistance d'un bloc à l'autre (et on l'exécute toujours en faisant
-~C-c C-c~).
-#+begin_src python :results output :session :exports both
-import numpy
-x=numpy.linspace(-15,15)
-print(x)
-#+end_src
-
-#+RESULTS:
-#+begin_example
-[-15. -14.3877551 -13.7755102 -13.16326531 -12.55102041
- -11.93877551 -11.32653061 -10.71428571 -10.10204082 -9.48979592
- -8.87755102 -8.26530612 -7.65306122 -7.04081633 -6.42857143
- -5.81632653 -5.20408163 -4.59183673 -3.97959184 -3.36734694
- -2.75510204 -2.14285714 -1.53061224 -0.91836735 -0.30612245
- 0.30612245 0.91836735 1.53061224 2.14285714 2.75510204
- 3.36734694 3.97959184 4.59183673 5.20408163 5.81632653
- 6.42857143 7.04081633 7.65306122 8.26530612 8.87755102
- 9.48979592 10.10204082 10.71428571 11.32653061 11.93877551
- 12.55102041 13.16326531 13.7755102 14.3877551 15. ]
-#+end_example
-
-Et enfin, voici un exemple de sortie graphique:
-#+begin_src python :results output file :session :var matplot_lib_filename="./cosxsx.png" :exports results
-import matplotlib.pyplot as plt
-
-plt.figure(figsize=(10,5))
-plt.plot(x,numpy.cos(x)/x)
-plt.tight_layout()
-
-plt.savefig(matplot_lib_filename)
-print(matplot_lib_filename)
-#+end_src
-
-#+RESULTS:
-[[file:./cosxsx.png]]
-
-Vous remarquerez le paramètre ~:exports results~ qui indique que le code
-ne doit pas apparaître dans la version finale du document. Nous vous
-recommandons dans le cadre de ce MOOC de ne pas changer ce paramètre
-(indiquer ~both~) car l'objectif est que vos analyses de données soient
-parfaitement transparentes pour être reproductibles.
-
-Attention, la figure ainsi générée n'est pas stockée dans le document
-org. C'est un fichier ordinaire, ici nommé ~cosxsx.png~. N'oubliez pas
-de le committer si vous voulez que votre analyse soit lisible et
-compréhensible sur GitLab.
-
-Enfin, n'oubliez pas que nous vous fournissons dans les ressources de
-ce MOOC une configuration avec un certain nombre de raccourcis
-claviers permettant de créer rapidement les blocs de code python (en
-faisant ~