|
|
|
|
|
|
|
|
|
|
|
import os |
|
|
|
|
|
import pandas |
|
|
|
|
|
import numpy as np |
|
|
|
|
|
import progressbar |
|
|
|
|
|
from matplotlib import pyplot as plt |
|
|
|
|
|
|
|
|
|
|
|
station = 7460 # clermont ferand <3 |
|
|
|
|
|
downlaod = True |
|
|
|
|
|
|
|
|
|
|
|
if downlaod : |
|
|
|
|
|
print("Suppresion des fichiers existants") |
|
|
|
|
|
os.system("rm -rf data") |
|
|
|
|
|
os.system("mkdir data") |
|
|
|
|
|
print("Début du téléchargement depuis météo france") |
|
|
|
|
|
for annee in progressbar.progressbar(range(1996,2021)) : |
|
|
|
|
|
for moi in range(1,13) : |
|
|
|
|
|
titre = f'{annee:04d}{moi:02d}' |
|
|
|
|
|
os.system(f'wget -q https://donneespubliques.meteofrance.fr/donnees_libres/Txt/Synop/Archive/synop.{titre}.csv.gz -P data') |
|
|
|
|
|
|
|
|
|
|
|
os.chdir("data") |
|
|
|
|
|
os.system(f"gzip -vd *") |
|
|
|
|
|
os.chdir("..") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
donnees = {} |
|
|
|
|
|
for nom in os.listdir("data") : |
|
|
|
|
|
csv = pandas.read_csv(f"data/{nom}",sep=";") |
|
|
|
|
|
extraction = csv[csv["numer_sta"]==station][["date","t"]].values.tolist() |
|
|
|
|
|
|
|
|
|
|
|
for i in range(len(extraction)) : |
|
|
|
|
|
mesure = int(extraction[i][0]//1e6//7) |
|
|
|
|
|
if mesure not in donnees : |
|
|
|
|
|
donnees[mesure] = [] |
|
|
|
|
|
try : |
|
|
|
|
|
donnees[mesure].append(float(extraction[i][1])) |
|
|
|
|
|
except ValueError : |
|
|
|
|
|
print(f"Erreur de valeur pour la date {extraction[i][0]} : {extraction[i][1]}") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clefs = list(donnees.keys()) |
|
|
|
|
|
clefs.sort() |
|
|
|
|
|
table = np.zeros(len(clefs)) |
|
|
|
|
|
for i, clef in enumerate(clefs) : |
|
|
|
|
|
somme = 0 |
|
|
|
|
|
for j in range(len(donnees[clef])) : |
|
|
|
|
|
somme += donnees[clef][j] |
|
|
|
|
|
if len(donnees[clef]) > 0 : |
|
|
|
|
|
table[i] = somme/len(donnees[clef]) |
|
|
|
|
|
else : |
|
|
|
|
|
table[i] = table[i-1] |
|
|
|
|
|
|
|
|
|
|
|
plt.plot(np.array(range(len(table)))/52-len(table)/52,table,"bo") |
|
|
|
|
|
np.save("dataset.npy", table) |
|
|
|
|
|
print("sauvegardé") |
|
|
|
|
|
plt.show() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|