Update Readme.md
-
Maintainer
pour la 4eme mission j'ai choisi le sujet 1 'Concentration de CO2 dans l'atmosphère depuis 1958' 1-Le but de la première question est de créer un graphique illustrant une oscillation périodique superposée à une évolution systématique plus lente, en utilisant un programme Python pour l'analyse de ces données. Ces étapes constituent le processus général pour l'analyse de données à partir d'un fichier CSV contenant des émissions de CO2.
-Étape 1 : Importation des bibliothèques Pour commencer, nous importons les bibliothèques nécessaires pour l'analyse des données : pandas, matplotlib, et numpy. Ces bibliothèques offrent des fonctionnalités pour manipuler les données, effectuer des calculs et créer des visualisations.
*import pandas as pd
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
import numpy as np import isoweek
Étape 2 : Chargement des données
-nous definissons l'URL d'où proviennent les données sur les émissions de CO2.
*data_url = "https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv" data = "monthly_in_situ_co2_mlo.csv"
-Ensuite, nous verifions si le fichier local contenant les données existe déjà. Si ce n'est pas le cas, nous téléchargeons les données à partir de l'URL.
*import os
import urllib.request
if not os.path.exists(data):
-Ensuite, nous lisons le fichier CSV des données en utilisant pd.read_csv() de Pandas, en sautant les 57 premières lignes du fichier qui contiennent des métadonnées ou des informations non pertinentes pour l'analyse.
raw_data = pd.read_csv(data, skiprows=57)
-Afficher les données brutes
*raw_data
Étape 3 : Nettoyage des données
Nous nettoyons les données en supprimant les lignes contenant des valeurs manquantes (NaN) dans la colonne 'CO2' à l'aide de dropna() de Pandas. Cette opération est effectuée pour éliminer les données inutilisables ou incomplètes qui pourraient fausser notre analyse.Nous utilisons également copy() pour créer une copie des données nettoyées.
*data = raw_data.dropna().copy()
Étape 4 :Afficher les données nettoyées
Nous affichons les données nettoyées et en créer une copie
*data
data = data.dropna(subset=[' CO2'])
print(data.columns)
Étape 5 : Agrégation des données par année
Nous regroupons les données nettoyées par année en utilisant groupby() de Pandas pour grouper les valeurs de CO2 par année. Ensuite, nous utilisons sum() pour calculer la somme des émissions de CO2 pour chaque année.
*annees = data[' Yr'].unique()
year = []
yearly_CO2 = []
for annee in annees:
donnees_annee = data[data[' Yr'] == annee]
donnees_annee[' CO2'] = donnees_annee[' CO2'].astype(float)
somme_co2_annee = donnees_annee[' CO2'].sum()
year.append(annee)
yearly_CO2.append(somme_co2_annee)
yearly_CO2 = pd.Series(data=yearly_CO2, index=year)
Étape 6 : Visualisation des données
Enfin, nous visualisons les émissions de CO2 par année en utilisant plot() de Pandas, avec style='*' pour représenter les points de données sous forme d'étoiles.
yearly_CO2.plot(style='*')
2-La deuxième question vise à séparer ces deux phénomènes, à caractériser l'oscillation périodique et à proposer un modèle simple pour représenter la contribution lente. Elle demande d'estimer ses paramètres et de tenter une extrapolation jusqu'à l'année 2025.en utilisant un programme python
Étape 1 : Importation des bibliothèques
Dans cette étape, nous importons les différentes bibliothèques nécessaires à l'analyse et à la visualisation des données
Étape 2 : Récupération des données à partir d'une page web
-Définition de l'URL : url = "https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html"
-Envoi d'une requête GET pour récupérer la page web avec vérification SSL
*response = requests.get(url, verify=False
-Vérification que la requête s'est bien déroulée (code de statut 200).
-Utilisation de BeautifulSoup pour parser le contenu HTML de la page et trouver la table contenant les données de CO2.
Étape 3 : Traitement des données avec Pandas
-Extraction des données tabulaires à l'aide de pd.read_html() pour convertir la table HTML en DataFrame Pandas.
-Renommage des colonnes en "Date" et "CO2".
-Conversion de la colonne de date en objets datetime à l'aide de pd.to_datetime().
Étape 4 : Visualisation des données
-Création d'une figure avec Matplotlib pour représenter les données de concentration de CO2 au fil du temps.
-Définition d'une fonction slow_contrib() qui pourrait représenter un modèle de contribution lente à la concentration de CO2 (par exemple, une fonction linéaire).
-Ajustement du modèle aux données existantes à l'aide de curve_fit() de SciPy.
-Extrapolation des données jusqu'en 2025 en utilisant le modèle ajusté.
-Traçage de l'extrapolation sur le même graphique que les données d'origine.
-Affichage du graphique avec plt.show().