Vous aussi, vérifiez que le réchauffement climatique n'est pas qu'une vaste blague en analysant les données près de chez vous :
Graphique que j'avais produit comme exercice pour apprendre à me servir de la librairie Pandas (pour traiter les données) sous Python (un langage de programmation) à partir des données de températures décadaires de Météo-France à Saint-Arnoult.
On voit bien l'augmentation d'un quart de degré par siècle dont nous parlent les climatologues.
Je l'avais déjà posté sur les réseaux mais je profite de pouvoir publier des notes plus longues pour vous mettre le code ci-dessous. Si vous voulez vérifier chez vous aussi, voici comment :
----- LA SUITE -----
Les étapes sont les suivantes :
- Si vous n'avez pas Python, installez-le.
- Utilisez Pip pour télécharger les librairies Pandas (données), Matplotlib (graphiques), Seaborn (encore plus jolis graphiques) et Scipy.
- Allez télécharger les données décadaires sur Météo-France.
- Le code Python :
# Importation des librairies nécessaires
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import linregress
# Lecture du fichier CSV des données décadaires
csv_file = "DECADQ_14_previous-1950-2023.csv.gz"
df = pd.read_csv(csv_file, sep=";")
# Conversion de la colonne de date au format datetime
df['AAAAMM'] = pd.to_datetime(df['AAAAMM'], format='%Y%m')
# Filtrage des données pour la station Saint-Gatien-des-Bois
df_sg = df.loc[df['NOM_USUEL'] == 'ST GATIEN DES B', ['AAAAMM', 'TM']]
# Calcul de la moyenne mensuelle des températures
df_sg_mensuel = df_sg.groupby(df_sg['AAAAMM']).mean()
df_sg_mensuel.head()
# Calcul de la moyenne mobile sur 12 mois (moyenne annuelle)
df_sg_mensuel['TM_MEAN'] = df_sg_mensuel['TM'].rolling(window=12).mean()
# Préparation des données pour la régression linéaire
x_numeric = (df_sg_mensuel.index - df_sg_mensuel.index[0]).days / 365.25
y_values = df_sg_mensuel['TM']
# Calcul de la régression linéaire pour identifier la tendance
slope, intercept, r_value, p_value, std_err = linregress(x_numeric, y_values)
df_sg_mensuel['TM_TENDANCE'] = (slope * x_numeric) + intercept
# Création du graphique
plt.figure(figsize=(10, 8))
# Tracé de la température mensuelle (en gris clair)
sns.lineplot(x=df_sg_mensuel.index, y=df_sg_mensuel['TM'],
label='Température Mensuelle', color="grey", alpha=0.4)
# Tracé de la moyenne annuelle (courbe bleue)
sns.lineplot(x=df_sg_mensuel.index, y=df_sg_mensuel['TM_MEAN'],
label='Moyenne Annuelle', color='dodgerblue', linewidth=2.5)
# Tracé de la tendance de réchauffement (ligne rouge pointillée)
sns.lineplot(x=df_sg_mensuel.index, y=df_sg_mensuel['TM_TENDANCE'],
label=f'Régression Linéaire (+{slope*10:.2f}°C/décennie)',
color='red', linestyle='--', linewidth=2.5)
# Personnalisation du graphique
plt.title('Température à St Gatien des Bois (données décadaires)', fontsize=16)
plt.xlabel('Années', fontsize=12)
plt.ylabel('Températures (°C)', fontsize=12)
plt.grid(False)
plt.show()
Après les vilains retours de ma vidéo sur le climat, c'est pas mal d'en remettre une couche.
Connectez-vous ou créez un compte pour laisser un commentaire.