Commit dea9198c authored by Laurence Farhi's avatar Laurence Farhi

Update Readme.md

parent 949f6881
# Journal de bord du Mooc / Mooc's logbook
FR
Espace réservé au journal de bord du Mooc Espace réservé au journal de bord du Mooc
EN
Reserved for the Mooc's logbook
\ No newline at end of file
  • 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().

    Edited by c05772ca30517e8b4095505e7bf0de0b
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