| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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()
-
-
|