diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb
index c1a448643b5572c451ec4c0409ab0378f95bf9cc..b2cb2ea31dc243fce28b6daf5d257b9b6d35b25a 100644
--- a/module3/exo3/exercice.ipynb
+++ b/module3/exo3/exercice.ipynb
@@ -55,6 +55,857 @@
"data_url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv\""
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Les 53 premières lignes sont une présentation du jeu de données, on les passe pour ne traiter que le jeu de données à proprement parler. Voici ci-dessous un extrait de ce jeu de données."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Yr | \n",
+ " Mn | \n",
+ " Date | \n",
+ " Date | \n",
+ " CO2 | \n",
+ " seasonally | \n",
+ " fit | \n",
+ " seasonally | \n",
+ " CO2 | \n",
+ " seasonally | \n",
+ "
\n",
+ " \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " adjusted | \n",
+ " | \n",
+ " adjusted fit | \n",
+ " filled | \n",
+ " adjusted filled | \n",
+ "
\n",
+ " \n",
+ " Excel | \n",
+ " | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ "
\n",
+ " \n",
+ " 1958 | \n",
+ " 01 | \n",
+ " 21200 | \n",
+ " 1958.0411 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 02 | \n",
+ " 21231 | \n",
+ " 1958.1260 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 03 | \n",
+ " 21259 | \n",
+ " 1958.2027 | \n",
+ " 315.70 | \n",
+ " 314.44 | \n",
+ " 316.18 | \n",
+ " 314.90 | \n",
+ " 315.70 | \n",
+ " 314.44 | \n",
+ "
\n",
+ " \n",
+ " 04 | \n",
+ " 21290 | \n",
+ " 1958.2877 | \n",
+ " 317.45 | \n",
+ " 315.16 | \n",
+ " 317.29 | \n",
+ " 314.98 | \n",
+ " 317.45 | \n",
+ " 315.16 | \n",
+ "
\n",
+ " \n",
+ " 05 | \n",
+ " 21320 | \n",
+ " 1958.3699 | \n",
+ " 317.51 | \n",
+ " 314.71 | \n",
+ " 317.86 | \n",
+ " 315.06 | \n",
+ " 317.51 | \n",
+ " 314.71 | \n",
+ "
\n",
+ " \n",
+ " 06 | \n",
+ " 21351 | \n",
+ " 1958.4548 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " 317.24 | \n",
+ " 315.14 | \n",
+ " 317.24 | \n",
+ " 315.14 | \n",
+ "
\n",
+ " \n",
+ " 07 | \n",
+ " 21381 | \n",
+ " 1958.5370 | \n",
+ " 315.86 | \n",
+ " 315.19 | \n",
+ " 315.86 | \n",
+ " 315.21 | \n",
+ " 315.86 | \n",
+ " 315.19 | \n",
+ "
\n",
+ " \n",
+ " 08 | \n",
+ " 21412 | \n",
+ " 1958.6219 | \n",
+ " 314.93 | \n",
+ " 316.19 | \n",
+ " 313.99 | \n",
+ " 315.28 | \n",
+ " 314.93 | \n",
+ " 316.19 | \n",
+ "
\n",
+ " \n",
+ " 09 | \n",
+ " 21443 | \n",
+ " 1958.7068 | \n",
+ " 313.21 | \n",
+ " 316.08 | \n",
+ " 312.45 | \n",
+ " 315.35 | \n",
+ " 313.21 | \n",
+ " 316.08 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 21473 | \n",
+ " 1958.7890 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " 312.43 | \n",
+ " 315.40 | \n",
+ " 312.43 | \n",
+ " 315.40 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 21504 | \n",
+ " 1958.8740 | \n",
+ " 313.33 | \n",
+ " 315.20 | \n",
+ " 313.61 | \n",
+ " 315.46 | \n",
+ " 313.33 | \n",
+ " 315.20 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 21534 | \n",
+ " 1958.9562 | \n",
+ " 314.67 | \n",
+ " 315.43 | \n",
+ " 314.76 | \n",
+ " 315.51 | \n",
+ " 314.67 | \n",
+ " 315.43 | \n",
+ "
\n",
+ " \n",
+ " 1959 | \n",
+ " 01 | \n",
+ " 21565 | \n",
+ " 1959.0411 | \n",
+ " 315.58 | \n",
+ " 315.54 | \n",
+ " 315.62 | \n",
+ " 315.57 | \n",
+ " 315.58 | \n",
+ " 315.54 | \n",
+ "
\n",
+ " \n",
+ " 02 | \n",
+ " 21596 | \n",
+ " 1959.1260 | \n",
+ " 316.49 | \n",
+ " 315.86 | \n",
+ " 316.26 | \n",
+ " 315.63 | \n",
+ " 316.49 | \n",
+ " 315.86 | \n",
+ "
\n",
+ " \n",
+ " 03 | \n",
+ " 21624 | \n",
+ " 1959.2027 | \n",
+ " 316.65 | \n",
+ " 315.38 | \n",
+ " 316.97 | \n",
+ " 315.69 | \n",
+ " 316.65 | \n",
+ " 315.38 | \n",
+ "
\n",
+ " \n",
+ " 04 | \n",
+ " 21655 | \n",
+ " 1959.2877 | \n",
+ " 317.72 | \n",
+ " 315.42 | \n",
+ " 318.08 | \n",
+ " 315.76 | \n",
+ " 317.72 | \n",
+ " 315.42 | \n",
+ "
\n",
+ " \n",
+ " 05 | \n",
+ " 21685 | \n",
+ " 1959.3699 | \n",
+ " 318.29 | \n",
+ " 315.49 | \n",
+ " 318.65 | \n",
+ " 315.84 | \n",
+ " 318.29 | \n",
+ " 315.49 | \n",
+ "
\n",
+ " \n",
+ " 06 | \n",
+ " 21716 | \n",
+ " 1959.4548 | \n",
+ " 318.15 | \n",
+ " 316.03 | \n",
+ " 318.04 | \n",
+ " 315.93 | \n",
+ " 318.15 | \n",
+ " 316.03 | \n",
+ "
\n",
+ " \n",
+ " 07 | \n",
+ " 21746 | \n",
+ " 1959.5370 | \n",
+ " 316.54 | \n",
+ " 315.86 | \n",
+ " 316.67 | \n",
+ " 316.02 | \n",
+ " 316.54 | \n",
+ " 315.86 | \n",
+ "
\n",
+ " \n",
+ " 08 | \n",
+ " 21777 | \n",
+ " 1959.6219 | \n",
+ " 314.80 | \n",
+ " 316.06 | \n",
+ " 314.82 | \n",
+ " 316.12 | \n",
+ " 314.80 | \n",
+ " 316.06 | \n",
+ "
\n",
+ " \n",
+ " 09 | \n",
+ " 21808 | \n",
+ " 1959.7068 | \n",
+ " 313.84 | \n",
+ " 316.73 | \n",
+ " 313.31 | \n",
+ " 316.21 | \n",
+ " 313.84 | \n",
+ " 316.73 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 21838 | \n",
+ " 1959.7890 | \n",
+ " 313.33 | \n",
+ " 316.33 | \n",
+ " 313.32 | \n",
+ " 316.30 | \n",
+ " 313.33 | \n",
+ " 316.33 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 21869 | \n",
+ " 1959.8740 | \n",
+ " 314.81 | \n",
+ " 316.68 | \n",
+ " 314.54 | \n",
+ " 316.39 | \n",
+ " 314.81 | \n",
+ " 316.68 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 21899 | \n",
+ " 1959.9562 | \n",
+ " 315.58 | \n",
+ " 316.35 | \n",
+ " 315.72 | \n",
+ " 316.47 | \n",
+ " 315.58 | \n",
+ " 316.35 | \n",
+ "
\n",
+ " \n",
+ " 1960 | \n",
+ " 01 | \n",
+ " 21930 | \n",
+ " 1960.0410 | \n",
+ " 316.43 | \n",
+ " 316.39 | \n",
+ " 316.61 | \n",
+ " 316.55 | \n",
+ " 316.43 | \n",
+ " 316.39 | \n",
+ "
\n",
+ " \n",
+ " 02 | \n",
+ " 21961 | \n",
+ " 1960.1257 | \n",
+ " 316.98 | \n",
+ " 316.35 | \n",
+ " 317.27 | \n",
+ " 316.64 | \n",
+ " 316.98 | \n",
+ " 316.35 | \n",
+ "
\n",
+ " \n",
+ " 03 | \n",
+ " 21990 | \n",
+ " 1960.2049 | \n",
+ " 317.58 | \n",
+ " 316.28 | \n",
+ " 318.02 | \n",
+ " 316.71 | \n",
+ " 317.58 | \n",
+ " 316.28 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 2018 | \n",
+ " 07 | \n",
+ " 43296 | \n",
+ " 2018.5370 | \n",
+ " 408.90 | \n",
+ " 408.08 | \n",
+ " 409.43 | \n",
+ " 408.65 | \n",
+ " 408.90 | \n",
+ " 408.08 | \n",
+ "
\n",
+ " \n",
+ " 08 | \n",
+ " 43327 | \n",
+ " 2018.6219 | \n",
+ " 407.10 | \n",
+ " 408.63 | \n",
+ " 407.33 | \n",
+ " 408.90 | \n",
+ " 407.10 | \n",
+ " 408.63 | \n",
+ "
\n",
+ " \n",
+ " 09 | \n",
+ " 43358 | \n",
+ " 2018.7068 | \n",
+ " 405.59 | \n",
+ " 409.08 | \n",
+ " 405.66 | \n",
+ " 409.18 | \n",
+ " 405.59 | \n",
+ " 409.08 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 43388 | \n",
+ " 2018.7890 | \n",
+ " 405.99 | \n",
+ " 409.61 | \n",
+ " 405.84 | \n",
+ " 409.44 | \n",
+ " 405.99 | \n",
+ " 409.61 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 43419 | \n",
+ " 2018.8740 | \n",
+ " 408.12 | \n",
+ " 410.38 | \n",
+ " 407.48 | \n",
+ " 409.72 | \n",
+ " 408.12 | \n",
+ " 410.38 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 43449 | \n",
+ " 2018.9562 | \n",
+ " 409.23 | \n",
+ " 410.15 | \n",
+ " 409.07 | \n",
+ " 409.98 | \n",
+ " 409.23 | \n",
+ " 410.15 | \n",
+ "
\n",
+ " \n",
+ " 2019 | \n",
+ " 01 | \n",
+ " 43480 | \n",
+ " 2019.0411 | \n",
+ " 410.92 | \n",
+ " 410.87 | \n",
+ " 410.30 | \n",
+ " 410.24 | \n",
+ " 410.92 | \n",
+ " 410.87 | \n",
+ "
\n",
+ " \n",
+ " 02 | \n",
+ " 43511 | \n",
+ " 2019.1260 | \n",
+ " 411.66 | \n",
+ " 410.90 | \n",
+ " 411.25 | \n",
+ " 410.48 | \n",
+ " 411.66 | \n",
+ " 410.90 | \n",
+ "
\n",
+ " \n",
+ " 03 | \n",
+ " 43539 | \n",
+ " 2019.2027 | \n",
+ " 412.00 | \n",
+ " 410.46 | \n",
+ " 412.25 | \n",
+ " 410.69 | \n",
+ " 412.00 | \n",
+ " 410.46 | \n",
+ "
\n",
+ " \n",
+ " 04 | \n",
+ " 43570 | \n",
+ " 2019.2877 | \n",
+ " 413.52 | \n",
+ " 410.72 | \n",
+ " 413.73 | \n",
+ " 410.92 | \n",
+ " 413.52 | \n",
+ " 410.72 | \n",
+ "
\n",
+ " \n",
+ " 05 | \n",
+ " 43600 | \n",
+ " 2019.3699 | \n",
+ " 414.83 | \n",
+ " 411.42 | \n",
+ " 414.54 | \n",
+ " 411.14 | \n",
+ " 414.83 | \n",
+ " 411.42 | \n",
+ "
\n",
+ " \n",
+ " 06 | \n",
+ " 43631 | \n",
+ " 2019.4548 | \n",
+ " 413.96 | \n",
+ " 411.38 | \n",
+ " 413.91 | \n",
+ " 411.36 | \n",
+ " 413.96 | \n",
+ " 411.38 | \n",
+ "
\n",
+ " \n",
+ " 07 | \n",
+ " 43661 | \n",
+ " 2019.5370 | \n",
+ " 411.85 | \n",
+ " 411.03 | \n",
+ " 412.36 | \n",
+ " 411.57 | \n",
+ " 411.85 | \n",
+ " 411.03 | \n",
+ "
\n",
+ " \n",
+ " 08 | \n",
+ " 43692 | \n",
+ " 2019.6219 | \n",
+ " 410.08 | \n",
+ " 411.62 | \n",
+ " 410.22 | \n",
+ " 411.79 | \n",
+ " 410.08 | \n",
+ " 411.62 | \n",
+ "
\n",
+ " \n",
+ " 09 | \n",
+ " 43723 | \n",
+ " 2019.7068 | \n",
+ " 408.55 | \n",
+ " 412.06 | \n",
+ " 408.49 | \n",
+ " 412.02 | \n",
+ " 408.55 | \n",
+ " 412.06 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 43753 | \n",
+ " 2019.7890 | \n",
+ " 408.43 | \n",
+ " 412.06 | \n",
+ " 408.62 | \n",
+ " 412.23 | \n",
+ " 408.43 | \n",
+ " 412.06 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 43784 | \n",
+ " 2019.8740 | \n",
+ " 410.29 | \n",
+ " 412.56 | \n",
+ " 410.21 | \n",
+ " 412.46 | \n",
+ " 410.29 | \n",
+ " 412.56 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 43814 | \n",
+ " 2019.9562 | \n",
+ " 411.85 | \n",
+ " 412.78 | \n",
+ " 411.76 | \n",
+ " 412.67 | \n",
+ " 411.85 | \n",
+ " 412.78 | \n",
+ "
\n",
+ " \n",
+ " 2020 | \n",
+ " 01 | \n",
+ " 43845 | \n",
+ " 2020.0410 | \n",
+ " 413.37 | \n",
+ " 413.32 | \n",
+ " 412.95 | \n",
+ " 412.89 | \n",
+ " 413.37 | \n",
+ " 413.32 | \n",
+ "
\n",
+ " \n",
+ " 02 | \n",
+ " 43876 | \n",
+ " 2020.1257 | \n",
+ " 414.09 | \n",
+ " 413.33 | \n",
+ " 413.87 | \n",
+ " 413.10 | \n",
+ " 414.09 | \n",
+ " 413.33 | \n",
+ "
\n",
+ " \n",
+ " 03 | \n",
+ " 43905 | \n",
+ " 2020.2049 | \n",
+ " 414.51 | \n",
+ " 412.94 | \n",
+ " 414.89 | \n",
+ " 413.30 | \n",
+ " 414.51 | \n",
+ " 412.94 | \n",
+ "
\n",
+ " \n",
+ " 04 | \n",
+ " 43936 | \n",
+ " 2020.2896 | \n",
+ " 416.18 | \n",
+ " 413.35 | \n",
+ " 416.35 | \n",
+ " 413.50 | \n",
+ " 416.18 | \n",
+ " 413.35 | \n",
+ "
\n",
+ " \n",
+ " 05 | \n",
+ " 43966 | \n",
+ " 2020.3716 | \n",
+ " 417.16 | \n",
+ " 413.75 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " 417.16 | \n",
+ " 413.75 | \n",
+ "
\n",
+ " \n",
+ " 06 | \n",
+ " 43997 | \n",
+ " 2020.4563 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 07 | \n",
+ " 44027 | \n",
+ " 2020.5383 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 08 | \n",
+ " 44058 | \n",
+ " 2020.6230 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 09 | \n",
+ " 44089 | \n",
+ " 2020.7077 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 44119 | \n",
+ " 2020.7896 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 44150 | \n",
+ " 2020.8743 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 44180 | \n",
+ " 2020.9563 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ " -99.99 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
759 rows × 1 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " \n",
+ " Yr Mn Date Date CO2 seasonally fit seasonally CO2 seasonally \n",
+ " adjusted adjusted fit filled adjusted filled \n",
+ " Excel [ppm] [ppm] [ppm] [ppm] [ppm] [ppm] \n",
+ "1958 01 21200 1958.0411 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 02 21231 1958.1260 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 03 21259 1958.2027 315.70 314.44 316.18 314.90 315.70 314.44 \n",
+ " 04 21290 1958.2877 317.45 315.16 317.29 314.98 317.45 315.16 \n",
+ " 05 21320 1958.3699 317.51 314.71 317.86 315.06 317.51 314.71 \n",
+ " 06 21351 1958.4548 -99.99 -99.99 317.24 315.14 317.24 315.14 \n",
+ " 07 21381 1958.5370 315.86 315.19 315.86 315.21 315.86 315.19 \n",
+ " 08 21412 1958.6219 314.93 316.19 313.99 315.28 314.93 316.19 \n",
+ " 09 21443 1958.7068 313.21 316.08 312.45 315.35 313.21 316.08 \n",
+ " 10 21473 1958.7890 -99.99 -99.99 312.43 315.40 312.43 315.40 \n",
+ " 11 21504 1958.8740 313.33 315.20 313.61 315.46 313.33 315.20 \n",
+ " 12 21534 1958.9562 314.67 315.43 314.76 315.51 314.67 315.43 \n",
+ "1959 01 21565 1959.0411 315.58 315.54 315.62 315.57 315.58 315.54 \n",
+ " 02 21596 1959.1260 316.49 315.86 316.26 315.63 316.49 315.86 \n",
+ " 03 21624 1959.2027 316.65 315.38 316.97 315.69 316.65 315.38 \n",
+ " 04 21655 1959.2877 317.72 315.42 318.08 315.76 317.72 315.42 \n",
+ " 05 21685 1959.3699 318.29 315.49 318.65 315.84 318.29 315.49 \n",
+ " 06 21716 1959.4548 318.15 316.03 318.04 315.93 318.15 316.03 \n",
+ " 07 21746 1959.5370 316.54 315.86 316.67 316.02 316.54 315.86 \n",
+ " 08 21777 1959.6219 314.80 316.06 314.82 316.12 314.80 316.06 \n",
+ " 09 21808 1959.7068 313.84 316.73 313.31 316.21 313.84 316.73 \n",
+ " 10 21838 1959.7890 313.33 316.33 313.32 316.30 313.33 316.33 \n",
+ " 11 21869 1959.8740 314.81 316.68 314.54 316.39 314.81 316.68 \n",
+ " 12 21899 1959.9562 315.58 316.35 315.72 316.47 315.58 316.35 \n",
+ "1960 01 21930 1960.0410 316.43 316.39 316.61 316.55 316.43 316.39 \n",
+ " 02 21961 1960.1257 316.98 316.35 317.27 316.64 316.98 316.35 \n",
+ " 03 21990 1960.2049 317.58 316.28 318.02 316.71 317.58 316.28 \n",
+ "... ... \n",
+ "2018 07 43296 2018.5370 408.90 408.08 409.43 408.65 408.90 408.08 \n",
+ " 08 43327 2018.6219 407.10 408.63 407.33 408.90 407.10 408.63 \n",
+ " 09 43358 2018.7068 405.59 409.08 405.66 409.18 405.59 409.08 \n",
+ " 10 43388 2018.7890 405.99 409.61 405.84 409.44 405.99 409.61 \n",
+ " 11 43419 2018.8740 408.12 410.38 407.48 409.72 408.12 410.38 \n",
+ " 12 43449 2018.9562 409.23 410.15 409.07 409.98 409.23 410.15 \n",
+ "2019 01 43480 2019.0411 410.92 410.87 410.30 410.24 410.92 410.87 \n",
+ " 02 43511 2019.1260 411.66 410.90 411.25 410.48 411.66 410.90 \n",
+ " 03 43539 2019.2027 412.00 410.46 412.25 410.69 412.00 410.46 \n",
+ " 04 43570 2019.2877 413.52 410.72 413.73 410.92 413.52 410.72 \n",
+ " 05 43600 2019.3699 414.83 411.42 414.54 411.14 414.83 411.42 \n",
+ " 06 43631 2019.4548 413.96 411.38 413.91 411.36 413.96 411.38 \n",
+ " 07 43661 2019.5370 411.85 411.03 412.36 411.57 411.85 411.03 \n",
+ " 08 43692 2019.6219 410.08 411.62 410.22 411.79 410.08 411.62 \n",
+ " 09 43723 2019.7068 408.55 412.06 408.49 412.02 408.55 412.06 \n",
+ " 10 43753 2019.7890 408.43 412.06 408.62 412.23 408.43 412.06 \n",
+ " 11 43784 2019.8740 410.29 412.56 410.21 412.46 410.29 412.56 \n",
+ " 12 43814 2019.9562 411.85 412.78 411.76 412.67 411.85 412.78 \n",
+ "2020 01 43845 2020.0410 413.37 413.32 412.95 412.89 413.37 413.32 \n",
+ " 02 43876 2020.1257 414.09 413.33 413.87 413.10 414.09 413.33 \n",
+ " 03 43905 2020.2049 414.51 412.94 414.89 413.30 414.51 412.94 \n",
+ " 04 43936 2020.2896 416.18 413.35 416.35 413.50 416.18 413.35 \n",
+ " 05 43966 2020.3716 417.16 413.75 -99.99 -99.99 417.16 413.75 \n",
+ " 06 43997 2020.4563 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 07 44027 2020.5383 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 08 44058 2020.6230 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 09 44089 2020.7077 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 10 44119 2020.7896 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 11 44150 2020.8743 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ " 12 44180 2020.9563 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n",
+ "\n",
+ "[759 rows x 1 columns]"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data = pd.read_csv(data_url, skiprows=53)\n",
+ "raw_data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "On vérifie qu'il n'y a pas de données manquantes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "KeyError",
+ "evalue": "'CO2'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2524\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2525\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2526\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;31mKeyError\u001b[0m: 'CO2'",
+ "\nDuring handling of the above exception, another exception occurred:\n",
+ "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mraw_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mraw_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'CO2'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m99.99\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2137\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2138\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2139\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2140\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2141\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2144\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2145\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2146\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2147\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2148\u001b[0m \u001b[0;31m# duplicate columns & possible reduce dimensionality\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 1840\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1841\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1842\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1843\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1844\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/internals.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item, fastpath)\u001b[0m\n\u001b[1;32m 3841\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3842\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3843\u001b[0;31m \u001b[0mloc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3844\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3845\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2525\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2526\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2527\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2528\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2529\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;31mKeyError\u001b[0m: 'CO2'"
+ ]
+ }
+ ],
+ "source": [
+ "raw_data[raw_data['CO2'] == -99.99]"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,