Recent, am lucrat la un proiect de învățare automată legat de energia regenerabilă, care a necesitat date istorice despre prognoza meteo din mai multe orașe.

În ciuda cercetărilor intense, mi-a fost greu să găsesc sursa bună de date. Majoritatea site-urilor web restricționează accesul la ultimele două săptămâni de date istorice. Dacă aveți nevoie de mai mult, trebuie să plătiți. În cazul meu, aveam nevoie de cinci ani de date – prognoză istorică orară, care poate fi costisitoare.

Cerințele mele sunt …

1. Gratuit – cel puțin în perioada de încercare

Nu este nevoie să furnizați informații despre cardul de credit.

2. Flexibil

Flexibil pentru a schimba intervalul de prognoză, perioadele de timp, locațiile.

3. Reproductibil

Ușor de reprodus și implementat în faza de producție.

În cele din urmă, am decis să folosesc date de la Vremea mondială online. Acest lucru mi-a luat mai puțin de două minute pentru a mă abona la API-ul gratuit de încercare gratuit – fără a completa informațiile despre cardul de credit. (500 de cereri gratuite / cheie / zi timp de 60 de zile, începând cu 30 mai 2019).

Obtineti date istorice despre prognoza meteo in format CSV folosind
https://www.worldweatheronline.com/developer/signup.aspx

Puteți încerca solicitările în format JSON sau XML aici. Rezultatul este JSON imbricat, care avea nevoie de un pic de pre-procesare înainte de a se hrăni cu modelele ML. Prin urmare, am scris câteva scripturi pentru a le analiza în pandas DataFrames și a le salva ca CSV pentru utilizare ulterioară.

Vă prezentăm pachetul wwo-hist

Acest pachetul wwo-hist este folosit pentru a prelua și analiza datele meteo istorice din Vremea mondială online în pandas DataFrame și fișier CSV.

Intrare: api_key, location_list, start_date, end_date, frecvență

Ieșire: nume_locatie.csv

Nume coloane de ieșire: data_time, maxtempC, mintempC, totalSnow_cm, sunHour, uvIndex, uvIndex, moon_illumination, moonrise, moonons, sunrise, sunset, DewPointC, FeelsLikeC, HeatIndexC, WindChillC, WindGustKmph, cloudcover, umiditate, precipMM, ventoC, temperaturaC, temperatura

Instalați și importați pachetul:

pip install wwo-hist
# import the package and function
from wwo_hist import retrieve_hist_data

# set working directory to store output csv file(s)
import os
os.chdir(".YOUR_PATH")

Exemplu de cod:

Specificați parametrii de intrare și apelați retrieve_hist_data (). Te rog viziteaza repo meu github pentru mai multe informații despre configurarea parametrilor.

Aceasta va prelua Interval de 3 ore date meteorologice istorice pentru Singapore și California din 11 decembrie 2018 la 11 martie 2019, salvați ieșirea în variabila hist_weather_data și CSV files.frequency = 3

FREQUENCY = 3
START_DATE = '11-DEC-2018'
END_DATE = '11-MAR-2019'
API_KEY = 'YOUR_API_KEY'
LOCATION_LIST = ['singapore','california']

hist_weather_data = retrieve_hist_data(API_KEY,
                                LOCATION_LIST,
                                START_DATE,
                                END_DATE,
                                FREQUENCY,
                                location_label = False,
                                export_csv = True,
                                store_df = True)
Aceasta este ceea ce veți vedea în consola dvs.
1611526805 679 Obtineti date istorice despre prognoza meteo in format CSV folosind
CSV (uri) rezultate exportate în directorul dvs. de lucru.
0*gdtco3Zi0Kv03uz9
Verificați ieșirea CSV.

Iată-l! Scriptul detaliat este, de asemenea documentat pe GitHub.


Mulțumesc că ai citit. Vă rugăm să încercați și să-mi spuneți feedback-ul dvs.! Dacă îți place ceea ce am făcut, ia în considerare urmărirea mea GitHub, Mediu, și Stare de nervozitate pentru a obține mai multe articole și tutoriale în flux.