From 48c0417348de4e9944811e85a3331271eef3ee54 Mon Sep 17 00:00:00 2001 From: cbb792ca8b944acdd70e62b4563eab7f Date: Sun, 19 Jul 2020 08:44:57 +0000 Subject: [PATCH] vers_v3 --- module3/exo3/exercice.ipynb | 276 ++++++++++++++++++++++++++---------- 1 file changed, 199 insertions(+), 77 deletions(-) diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index f19cb9e..2ce1397 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -2,22 +2,31 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "# Concentration de CO2 dans l'atmosphère depuis 1958" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "## Bibliotheques " ] }, { "cell_type": "code", - "execution_count": 109, - "metadata": {}, + "execution_count": 1, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "%matplotlib inline\n", @@ -29,14 +38,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "## Presentation des donnèes" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "Les données de l'évolution de la concentration de CO2 dans l'atmosphère sont disponibles du site Web de [l'Institut Scripps](https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html). Nous les récupérons sous forme d'un fichier en format CSV. Le fichier contient 10 colonnes. Les colonnes 1-4 donnent les dates en différentes formats. La colonne 5 montre la concentration de CO2 à Mauna Loa en micro-mol per mol (ppm), reporté sur l'échelle 2008A SIO. Les valeurs reportées dans le tableau sont prises à minuit (24:00) du 15 de chaque mois, entre les années 1958 et 2020. La colonne 6 montre la même information de la colonne 5 avec un ajustement pour retirer l'effet quasi régulier saisonnier (4 harmonica fit avec un facteur linéaire de croissance). \n", "La colonne 7 est une version adouci de la même information de la colonne 5 avec une courbe spline cubique plus une fonction 4-harmonic gain avec facteur linéaire de croissance. La colonne 8 présente la donnée de la colonne 7 sans l'effet du cycle saisonnier. \n", @@ -45,8 +60,11 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, + "execution_count": 2, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "data_url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv\"" @@ -54,8 +72,11 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 3, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1019,7 +1040,7 @@ "[758 rows x 10 columns]" ] }, - "execution_count": 5, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -1031,22 +1052,31 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "## Traitement des données" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On visualise les noms des colonnes." ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "execution_count": 4, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1063,7 +1093,7 @@ " ' seasonally']" ] }, - "execution_count": 6, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -1074,15 +1104,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On modifie les noms des colonnes, pour mettre au propre le tableau." ] }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": 5, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1099,7 +1135,7 @@ " 'seasonally_adjusted_filled']" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -1111,15 +1147,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On supprime les premières quatre lignes. Les premières deux lignes sont vides, et les lignes 3 et 4 n'ont pas d'échantillon." ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, + "execution_count": 6, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "raw_data_new=raw_data_new.drop([0, 1,2,3])" @@ -1127,15 +1169,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On Supprime le format de data 'data1' et 'data2', qui ne sont pas intéressantes pour notre analyse." ] }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, + "execution_count": 7, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "raw_data_new=raw_data_new.drop(columns=['data1', 'data2'])" @@ -1143,15 +1191,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "Nous vérifions qu'il n'y a pas des valeurs nulles dans le tableau." ] }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, + "execution_count": 8, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1195,7 +1249,7 @@ "Index: []" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1206,15 +1260,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On voit qu'il n'y a pas des valeurs nulles. On vérifie le type de donné :" ] }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, + "execution_count": 9, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1230,7 +1290,7 @@ "dtype: object" ] }, - "execution_count": 11, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1241,15 +1301,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On voit que le tableau est composé par des 'object'. On va le convertir en valeurs numériques." ] }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, + "execution_count": 10, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "raw_data_new['year']=raw_data_new['year'].astype(int)\n", @@ -1265,15 +1331,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On verifie la conversion: \n" ] }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, + "execution_count": 11, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1289,7 +1361,7 @@ "dtype: object" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -1300,15 +1372,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "Les 6 dernières lignes sont vides, on peut les retirer." ] }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, + "execution_count": 12, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "raw_data_new=raw_data_new.drop([751,752,753,754,755,756,757])" @@ -1316,15 +1394,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On peut aussi retirer les lignes sans valeurs :(-99,99)" ] }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, + "execution_count": 13, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "raw_data_new = raw_data_new.drop(raw_data_new[raw_data_new.CO2 < 0].index)" @@ -1332,15 +1416,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On réinitialise les index de nos listes." ] }, { "cell_type": "code", - "execution_count": 28, - "metadata": {}, + "execution_count": 14, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [], "source": [ "raw_data_new=raw_data_new.reset_index(drop=True)" @@ -1348,7 +1438,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "## Point 1 - Evolution Annuelle de la CO2\n", "Le graphique suivant nous montrera une oscillation périodique superposée à une évolution systématique plus lente." @@ -1356,8 +1449,11 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, + "execution_count": 15, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1391,7 +1487,10 @@ } }, "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "## Point 2 - Prevision jusq'à 2025\n", "\n", @@ -1456,8 +1555,11 @@ }, { "cell_type": "code", - "execution_count": 90, - "metadata": {}, + "execution_count": 16, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1465,7 +1567,7 @@ "0.1511674880564176" ] }, - "execution_count": 90, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -1503,25 +1605,32 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "La valeure de a est:0.1511674880564176 et ça représente le coefficient angulaire de la ligne droite qu'on cherche à calculer. On passe à calculer b." ] }, { "cell_type": "code", - "execution_count": 64, - "metadata": {}, + "execution_count": 17, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { - "data": { - "text/plain": [ - "355.3829380053908" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" + "ename": "NameError", + "evalue": "name 'sumy' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\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[0mb\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msumy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'sumy' is not defined" + ] } ], "source": [ @@ -1531,7 +1640,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "On définit donc la ligne droite calculée comme :\n", "\n", @@ -1550,8 +1662,11 @@ }, { "cell_type": "code", - "execution_count": 78, - "metadata": {}, + "execution_count": 18, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { @@ -1559,7 +1674,7 @@ "420.53612535770685" ] }, - "execution_count": 78, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1572,16 +1687,19 @@ }, { "cell_type": "code", - "execution_count": 81, - "metadata": {}, + "execution_count": 19, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 81, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, @@ -1607,13 +1725,17 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, "source": [ "Le point en rouge représente le niveau de concentration de CO2 en ppm à la fin du 2025." ] } ], "metadata": { + "hide_code_all_hidden": false, "kernelspec": { "display_name": "Python 3", "language": "python", -- 2.18.1