vers_v3

parent f4c5304f
......@@ -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<ipython-input-17-c9779bdd860a>\u001b[0m in \u001b[0;36m<module>\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": [
"[<matplotlib.lines.Line2D at 0x7fe9d0ef6b70>]"
"[<matplotlib.lines.Line2D at 0x7f1fb0bf9240>]"
]
},
"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",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment