diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb
index bc8660e04d86b78e18a4135530eb24e8f04ee95f..3b055bbf99123866d3ab94547aee33d155276e48 100644
--- a/module3/exo3/exercice.ipynb
+++ b/module3/exo3/exercice.ipynb
@@ -33,16 +33,463 @@
"metadata": {},
"outputs": [],
"source": [
- "# Fichier source des données brutes au 20/08/2020\n",
+ "# Fichier source des données brutes au 20/08/2020 (mise à jour mensuelle)\n",
+ "# dans le dossier /work/module3/exo3/monthly_in_situ_co2_mlo_20200820.csv\n",
+ "# @see https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html\n",
"raw_data = \"monthly_in_situ_co2_mlo_20200820.csv\""
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "# https://pandas.pydata.org\n",
+ "# Version 0.22.0 (December 29, 2017) sur ce Jupyter !\n",
+ "import pandas as pd\n",
+ "\n",
+ "# print(pd.__version__) # La version de Pandas actuelle\n",
+ "# pd.show_versions() # Toutes les extensions installées\n",
+ "\n",
+ "# Lecture du fichier CSV et saut à la ligne 55 pour ignorer les commentaires\n",
+ "# Ce fichier possède 10 colonnes séparées par des virgules : \n",
+ "# - colonnes 1-4 : dates en plusieurs formats : Yr, Mn, Date, Date\n",
+ "# - colonnes 5-10 : mesures en ppm, si absente valeur par défaut = '-99.99'\n",
+ "data = pd.read_csv(raw_data, skiprows = 54)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\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",
+ " 0 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " adjusted | \n",
+ " | \n",
+ " adjusted fit | \n",
+ " filled | \n",
+ " adjusted filled | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " | \n",
+ " | \n",
+ " Excel | \n",
+ " | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ " [ppm] | \n",
+ "
\n",
+ " \n",
+ " 2 | \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",
+ " 3 | \n",
+ " 1958 | \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",
+ " 4 | \n",
+ " 1958 | \n",
+ " 03 | \n",
+ " 21259 | \n",
+ " 1958.2027 | \n",
+ " 315.70 | \n",
+ " 314.44 | \n",
+ " 316.19 | \n",
+ " 314.91 | \n",
+ " 315.70 | \n",
+ " 314.44 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 1958 | \n",
+ " 04 | \n",
+ " 21290 | \n",
+ " 1958.2877 | \n",
+ " 317.45 | \n",
+ " 315.16 | \n",
+ " 317.30 | \n",
+ " 314.99 | \n",
+ " 317.45 | \n",
+ " 315.16 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 1958 | \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",
+ " 7 | \n",
+ " 1958 | \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",
+ " 8 | \n",
+ " 1958 | \n",
+ " 07 | \n",
+ " 21381 | \n",
+ " 1958.5370 | \n",
+ " 315.86 | \n",
+ " 315.19 | \n",
+ " 315.86 | \n",
+ " 315.22 | \n",
+ " 315.86 | \n",
+ " 315.19 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 1958 | \n",
+ " 08 | \n",
+ " 21412 | \n",
+ " 1958.6219 | \n",
+ " 314.93 | \n",
+ " 316.19 | \n",
+ " 313.99 | \n",
+ " 315.29 | \n",
+ " 314.93 | \n",
+ " 316.19 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Yr Mn Date Date CO2 seasonally fit \\\n",
+ "0 adjusted \n",
+ "1 Excel [ppm] [ppm] [ppm] \n",
+ "2 1958 01 21200 1958.0411 -99.99 -99.99 -99.99 \n",
+ "3 1958 02 21231 1958.1260 -99.99 -99.99 -99.99 \n",
+ "4 1958 03 21259 1958.2027 315.70 314.44 316.19 \n",
+ "5 1958 04 21290 1958.2877 317.45 315.16 317.30 \n",
+ "6 1958 05 21320 1958.3699 317.51 314.71 317.86 \n",
+ "7 1958 06 21351 1958.4548 -99.99 -99.99 317.24 \n",
+ "8 1958 07 21381 1958.5370 315.86 315.19 315.86 \n",
+ "9 1958 08 21412 1958.6219 314.93 316.19 313.99 \n",
+ "\n",
+ " seasonally CO2 seasonally \n",
+ "0 adjusted fit filled adjusted filled \n",
+ "1 [ppm] [ppm] [ppm] \n",
+ "2 -99.99 -99.99 -99.99 \n",
+ "3 -99.99 -99.99 -99.99 \n",
+ "4 314.91 315.70 314.44 \n",
+ "5 314.99 317.45 315.16 \n",
+ "6 315.06 317.51 314.71 \n",
+ "7 315.14 317.24 315.14 \n",
+ "8 315.22 315.86 315.19 \n",
+ "9 315.29 314.93 316.19 "
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Vérification des 10 premières lignes, avec des valeurs absentes\n",
+ "# Comparer avec le fichier original !\n",
+ "data.head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\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",
+ " 748 | \n",
+ " 2020 | \n",
+ " 03 | \n",
+ " 43905 | \n",
+ " 2020.2049 | \n",
+ " 414.51 | \n",
+ " 412.94 | \n",
+ " 414.84 | \n",
+ " 413.24 | \n",
+ " 414.51 | \n",
+ " 412.94 | \n",
+ "
\n",
+ " \n",
+ " 749 | \n",
+ " 2020 | \n",
+ " 04 | \n",
+ " 43936 | \n",
+ " 2020.2896 | \n",
+ " 416.18 | \n",
+ " 413.35 | \n",
+ " 416.28 | \n",
+ " 413.43 | \n",
+ " 416.18 | \n",
+ " 413.35 | \n",
+ "
\n",
+ " \n",
+ " 750 | \n",
+ " 2020 | \n",
+ " 05 | \n",
+ " 43966 | \n",
+ " 2020.3716 | \n",
+ " 417.17 | \n",
+ " 413.75 | \n",
+ " 417.01 | \n",
+ " 413.60 | \n",
+ " 417.17 | \n",
+ " 413.75 | \n",
+ "
\n",
+ " \n",
+ " 751 | \n",
+ " 2020 | \n",
+ " 06 | \n",
+ " 43997 | \n",
+ " 2020.4563 | \n",
+ " 416.30 | \n",
+ " 413.75 | \n",
+ " 416.31 | \n",
+ " 413.77 | \n",
+ " 416.30 | \n",
+ " 413.75 | \n",
+ "
\n",
+ " \n",
+ " 752 | \n",
+ " 2020 | \n",
+ " 07 | \n",
+ " 44027 | \n",
+ " 2020.5383 | \n",
+ " 414.49 | \n",
+ " 413.70 | \n",
+ " 414.69 | \n",
+ " 413.94 | \n",
+ " 414.49 | \n",
+ " 413.70 | \n",
+ "
\n",
+ " \n",
+ " 753 | \n",
+ " 2020 | \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",
+ " 754 | \n",
+ " 2020 | \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",
+ " 755 | \n",
+ " 2020 | \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",
+ " 756 | \n",
+ " 2020 | \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",
+ " 757 | \n",
+ " 2020 | \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",
+ "
"
+ ],
+ "text/plain": [
+ " Yr Mn Date Date CO2 seasonally fit \\\n",
+ "748 2020 03 43905 2020.2049 414.51 412.94 414.84 \n",
+ "749 2020 04 43936 2020.2896 416.18 413.35 416.28 \n",
+ "750 2020 05 43966 2020.3716 417.17 413.75 417.01 \n",
+ "751 2020 06 43997 2020.4563 416.30 413.75 416.31 \n",
+ "752 2020 07 44027 2020.5383 414.49 413.70 414.69 \n",
+ "753 2020 08 44058 2020.6230 -99.99 -99.99 -99.99 \n",
+ "754 2020 09 44089 2020.7077 -99.99 -99.99 -99.99 \n",
+ "755 2020 10 44119 2020.7896 -99.99 -99.99 -99.99 \n",
+ "756 2020 11 44150 2020.8743 -99.99 -99.99 -99.99 \n",
+ "757 2020 12 44180 2020.9563 -99.99 -99.99 -99.99 \n",
+ "\n",
+ " seasonally CO2 seasonally \n",
+ "748 413.24 414.51 412.94 \n",
+ "749 413.43 416.18 413.35 \n",
+ "750 413.60 417.17 413.75 \n",
+ "751 413.77 416.30 413.75 \n",
+ "752 413.94 414.49 413.70 \n",
+ "753 -99.99 -99.99 -99.99 \n",
+ "754 -99.99 -99.99 -99.99 \n",
+ "755 -99.99 -99.99 -99.99 \n",
+ "756 -99.99 -99.99 -99.99 \n",
+ "757 -99.99 -99.99 -99.99 "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Vérification des 10 dernières lignes, avec des valeurs absentes\n",
+ "# Comparer avec le fichier original !\n",
+ "data.tail(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# TODO\n",
+ "# Récupérer les entêtes de colonnes\n",
+ "# Vérifier les valeurs à '-99.99'\n",
+ "# Compter les lignes"
+ ]
}
],
"metadata": {