resultb

parent e8adce4a
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3, "execution_count": 1,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 4, "execution_count": 2,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 5, "execution_count": 3,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 6, "execution_count": 4,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 7, "execution_count": 5,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 8, "execution_count": 6,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 9, "execution_count": 39,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
} }
], ],
"source": [ "source": [
"# Réalisation du graphique pour montrer l'oscillation (300 dernières lignes du tableau)\n", "# Réalisation du graphique complet. Réalisation du graphique pour montrer l'oscillation (300 dernières lignes du tableau)\n",
"plt.figure(figsize=(15, 6))\n", "plt.figure(figsize=(15, 6))\n",
"plt.plot(data['Date'][-300:], data['Concentration'][-300:], label='CO2 Concentration')\n", "plt.plot(data['Date'][-300:], data['Concentration'][-300:], label='CO2 Concentration')\n",
"plt.title('CO2 Concentration Over Time')\n", "plt.title('CO2 Concentration Over Time')\n",
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 10, "execution_count": 8,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 11, "execution_count": 9,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -193,7 +193,7 @@ ...@@ -193,7 +193,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 12, "execution_count": 38,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -210,7 +210,7 @@ ...@@ -210,7 +210,7 @@
} }
], ],
"source": [ "source": [
"# Création du graphique pour montrer la concentration moyenne de CO2 par an au fil du temps\n", "# Contribution lente. Création du graphique pour montrer la concentration moyenne de CO2 par an au fil du temps\n",
"plt.figure(figsize=(10, 6))\n", "plt.figure(figsize=(10, 6))\n",
"plt.plot(data['Date'], data['Mean_CO2_Concentration'], label='Mean CO2 Concentration per Year Over Time')\n", "plt.plot(data['Date'], data['Mean_CO2_Concentration'], label='Mean CO2 Concentration per Year Over Time')\n",
"plt.title('Mean CO2 Concentration per Year Over Time')\n", "plt.title('Mean CO2 Concentration per Year Over Time')\n",
...@@ -222,7 +222,7 @@ ...@@ -222,7 +222,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 13, "execution_count": 11,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 14, "execution_count": 41,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -263,7 +263,7 @@ ...@@ -263,7 +263,7 @@
} }
], ],
"source": [ "source": [
"# Création du graphique pour montrer l'oscillation de la concentration de CO2 par an au fil du temps\n", "# Oscillation périodique. Création du graphique pour montrer l'oscillation de la concentration de CO2 au fil du temps\n",
"plt.figure(figsize=(10, 6))\n", "plt.figure(figsize=(10, 6))\n",
"plt.plot(data['Date'], data['Oscilation'], label='Oscilation CO2 Concentration Over Time')\n", "plt.plot(data['Date'], data['Oscilation'], label='Oscilation CO2 Concentration Over Time')\n",
"plt.title('Oscilation CO2 Concentration Over Time')\n", "plt.title('Oscilation CO2 Concentration Over Time')\n",
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 15, "execution_count": 43,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -292,7 +292,7 @@ ...@@ -292,7 +292,7 @@
} }
], ],
"source": [ "source": [
"# Création du graphique pour montrer l'oscillation de la concentration de CO2 par an au fil du temps (300 dernières lignes du tableau)\n", "# Oscillation périodique. Création du graphique pour montrer l'oscillation de la concentration de CO2 au fil du temps (300 dernières lignes du tableau)\n",
"plt.figure(figsize=(10, 6))\n", "plt.figure(figsize=(10, 6))\n",
"plt.plot(data['Date'][-300:], data['Oscilation'][-300:], label='Oscilation CO2 Concentration Over Time')\n", "plt.plot(data['Date'][-300:], data['Oscilation'][-300:], label='Oscilation CO2 Concentration Over Time')\n",
"plt.title('Oscilation CO2 Concentration Over Time')\n", "plt.title('Oscilation CO2 Concentration Over Time')\n",
...@@ -304,18 +304,18 @@ ...@@ -304,18 +304,18 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 16, "execution_count": 14,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Modéliser la évolution lente pour extrapolation jusqu’en 2025\n", "# Contribution lente. Modéliser la évolution lente pour extrapolation jusqu’en 2025\n",
"import numpy as np\n", "import numpy as np\n",
"from sklearn.linear_model import LinearRegression" "from sklearn.linear_model import LinearRegression"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 17, "execution_count": 44,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -331,7 +331,7 @@ ...@@ -331,7 +331,7 @@
} }
], ],
"source": [ "source": [
"# Modéliser une évolution lente en utilisant la régression linéaire\n", "# Contribution lente. Modéliser une évolution lente en utilisant la régression linéaire\n",
"X = np.arange(len(data)).reshape(-1, 1) # Variable indépendante : nombre de semaines\n", "X = np.arange(len(data)).reshape(-1, 1) # Variable indépendante : nombre de semaines\n",
"y = data['Mean_CO2_Concentration'].values.reshape(-1, 1) # Variable dépendante : concentration de CO2\n", "y = data['Mean_CO2_Concentration'].values.reshape(-1, 1) # Variable dépendante : concentration de CO2\n",
"\n", "\n",
...@@ -362,7 +362,7 @@ ...@@ -362,7 +362,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 34, "execution_count": 45,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -374,7 +374,7 @@ ...@@ -374,7 +374,7 @@
} }
], ],
"source": [ "source": [
"# Caractériser l’oscillation\n", "# Oscillation périodique. Caractériser l’oscillation\n",
"import numpy as np\n", "import numpy as np\n",
"# from scipy.fft import fft \n", "# from scipy.fft import fft \n",
"# fft de scipy.fft, a des problèmes de chargement, il se peut que nous utilisions une version de SciPy antérieure à 1.4.0. La fonction fft a été ajoutée dans SciPy version 1.4.0.\n", "# fft de scipy.fft, a des problèmes de chargement, il se peut que nous utilisions une version de SciPy antérieure à 1.4.0. La fonction fft a été ajoutée dans SciPy version 1.4.0.\n",
...@@ -384,7 +384,7 @@ ...@@ -384,7 +384,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 35, "execution_count": 17,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -406,7 +406,7 @@ ...@@ -406,7 +406,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 36, "execution_count": 46,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -419,7 +419,7 @@ ...@@ -419,7 +419,7 @@
} }
], ],
"source": [ "source": [
"# Calculer la transformée de Fourier de la série chronologique des anomalies CO2\n", "# Oscillation périodique. Calculer la transformée de Fourier de la série chronologique des anomalies CO2\n",
"co2_anomaly_fft = np.fft.fft(data['Oscilation'])\n", "co2_anomaly_fft = np.fft.fft(data['Oscilation'])\n",
"\n", "\n",
"# Calculer les fréquences correspondant aux composantes de Fourier\n", "# Calculer les fréquences correspondant aux composantes de Fourier\n",
...@@ -437,25 +437,25 @@ ...@@ -437,25 +437,25 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 38, "execution_count": 47,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"Comment caractériser l'oscillation en calculant la transformée de Fourier donne des valeurs pas faciles à comprendre a priori, une autre manière est choisie pour caractériser l'oscillation\n" "Comment caractériser l'oscillation périodique en calculant la transformée de Fourier donne des valeurs pas faciles à comprendre a priori, une autre manière est choisie pour caractériser l'oscillation\n"
] ]
} }
], ],
"source": [ "source": [
"# Comment caractériser l'oscillation en calculant la transformée de Fourier donne des valeurs pas faciles à comprendre a priori, une autre manière est choisie pour caractériser l'oscillation\n", "# Comment caractériser l'oscillation en calculant la transformée de Fourier donne des valeurs pas faciles à comprendre a priori, une autre manière est choisie pour caractériser l'oscillation\n",
"print(\"Comment caractériser l'oscillation en calculant la transformée de Fourier donne des valeurs pas faciles à comprendre a priori, une autre manière est choisie pour caractériser l'oscillation\")" "print(\"Comment caractériser l'oscillation périodique en calculant la transformée de Fourier donne des valeurs pas faciles à comprendre a priori, une autre manière est choisie pour caractériser l'oscillation\")"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 22, "execution_count": 48,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -472,7 +472,7 @@ ...@@ -472,7 +472,7 @@
} }
], ],
"source": [ "source": [
"# Création du graphique pour montrer l'oscillation de la concentration de CO2 par an au fil du temps (300 dernières lignes du tableau)\n", "# Oscillation périodique. Création du graphique pour montrer l'oscillation de la concentration de CO2 au fil du temps (300 dernières lignes du tableau)\n",
"plt.figure(figsize=(10, 6))\n", "plt.figure(figsize=(10, 6))\n",
"plt.plot(data['Date'][-300:], data['Oscilation'][-300:], label='Oscilation CO2 Concentration Over Time')\n", "plt.plot(data['Date'][-300:], data['Oscilation'][-300:], label='Oscilation CO2 Concentration Over Time')\n",
"plt.title('Oscilation CO2 Concentration Over Time')\n", "plt.title('Oscilation CO2 Concentration Over Time')\n",
...@@ -484,7 +484,7 @@ ...@@ -484,7 +484,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 39, "execution_count": 24,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -492,22 +492,24 @@ ...@@ -492,22 +492,24 @@
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"Maximum oscillation amplitude in CO2 anomalies: 4.419807692307586 ppm\n", "Maximum oscillation amplitude in CO2 anomalies: 4.419807692307586 ppm\n",
"Minimum oscillation amplitude in CO2 anomalies: -4.191923076923047 ppm\n" "Minimum oscillation amplitude in CO2 anomalies: -4.191923076923047 ppm\n",
"From the graph it is observed that maximum oscillation values around 3 ppm are frequent and the same is true for minimum oscillation values around -3 ppm\n"
] ]
} }
], ],
"source": [ "source": [
"# Calculez la valeur maximale et minimale de la colonne 'Oscillation'\n", "# Oscillation périodique. Calculez la valeur maximale et minimale de la colonne 'Oscillation'\n",
"maximum_value = data['Oscilation'].max()\n", "maximum_value = data['Oscilation'].max()\n",
"minimum_value = data['Oscilation'].min()\n", "minimum_value = data['Oscilation'].min()\n",
"\n", "\n",
"print(\"Maximum oscillation amplitude in CO2 anomalies:\", maximum_value, \"ppm\")\n", "print(\"Maximum oscillation amplitude in CO2 anomalies:\", maximum_value, \"ppm\")\n",
"print(\"Minimum oscillation amplitude in CO2 anomalies:\", minimum_value, \"ppm\")" "print(\"Minimum oscillation amplitude in CO2 anomalies:\", minimum_value, \"ppm\")\n",
"print(\"From the graph it is observed that maximum oscillation values around 3 ppm are frequent and the same is true for minimum oscillation values around -3 ppm\")"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 40, "execution_count": 49,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -519,7 +521,7 @@ ...@@ -519,7 +521,7 @@
} }
], ],
"source": [ "source": [
"# Trouver les indices où la concentration est égale à zéro\n", "# Oscillation périodique. Trouver les indices où la concentration est égale à zéro\n",
"zero_indices = data.index[data['Oscilation'] == 0].tolist()\n", "zero_indices = data.index[data['Oscilation'] == 0].tolist()\n",
"\n", "\n",
"# Calculer les temps entre deux passages à zéro consécutifs\n", "# Calculer les temps entre deux passages à zéro consécutifs\n",
...@@ -537,7 +539,7 @@ ...@@ -537,7 +539,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 41, "execution_count": 50,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -549,7 +551,7 @@ ...@@ -549,7 +551,7 @@
} }
], ],
"source": [ "source": [
"# Identifier les passages à zéro\n", "# Oscillation périodique. Identifier les passages à zéro\n",
"crosses_by_zero = (data['Oscilation'] * data['Oscilation'].shift(1) < 0) & (data['Oscilation'] != 0) # Série booléenne qui contient True dans les lignes où un passage à zéro se produit dans la colonne « Oscilation » du DataFrame et False dans les autres lignes. Cette série est ensuite utilisée pour filtrer le DataFrame et obtenir les lignes qui correspondent aux passages par zéro\n", "crosses_by_zero = (data['Oscilation'] * data['Oscilation'].shift(1) < 0) & (data['Oscilation'] != 0) # Série booléenne qui contient True dans les lignes où un passage à zéro se produit dans la colonne « Oscilation » du DataFrame et False dans les autres lignes. Cette série est ensuite utilisée pour filtrer le DataFrame et obtenir les lignes qui correspondent aux passages par zéro\n",
"\n", "\n",
"# Filtrer les lignes contenant des passages à zéro\n", "# Filtrer les lignes contenant des passages à zéro\n",
...@@ -577,7 +579,7 @@ ...@@ -577,7 +579,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 19, "execution_count": 27,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -590,7 +592,7 @@ ...@@ -590,7 +592,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 20, "execution_count": 28,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -605,7 +607,7 @@ ...@@ -605,7 +607,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 21, "execution_count": 29,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -635,7 +637,7 @@ ...@@ -635,7 +637,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 22, "execution_count": 30,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -665,7 +667,7 @@ ...@@ -665,7 +667,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 23, "execution_count": 31,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
...@@ -687,7 +689,7 @@ ...@@ -687,7 +689,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 24, "execution_count": 32,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -717,7 +719,7 @@ ...@@ -717,7 +719,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 25, "execution_count": 33,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -747,7 +749,7 @@ ...@@ -747,7 +749,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 26, "execution_count": 34,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -776,7 +778,7 @@ ...@@ -776,7 +778,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 27, "execution_count": 35,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -805,7 +807,7 @@ ...@@ -805,7 +807,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 28, "execution_count": 36,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -834,7 +836,7 @@ ...@@ -834,7 +836,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 29, "execution_count": 37,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
...@@ -875,6 +877,20 @@ ...@@ -875,6 +877,20 @@
"outputs": [], "outputs": [],
"source": [] "source": []
}, },
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
......
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