Closed armgilles closed 4 years ago
Problème de rapidité avec la volumétrie de l'activité Vcub (16.564.512 lignes). On à besoin de transformer les date d'activité (resamplé à 10 min) en date yyyy-mm
afin de faire la jointure avec la météo.
%timeit ts_activity['date_year_month'] = ts_activity['date'].dt.strftime(date_format='%Y-%m-%d')
# 1min 4s ± 124 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
def fast_parse_date(s):
"""
This is an extremely fast approach to datetime parsing.
For large data, the same dates are often repeated. Rather than
re-parse these, we store all unique dates, parse them, and
use a lookup to convert all dates.
cf https://github.com/sanand0/benchmarks/tree/master/date-parse
"""
dates = {date: date.strftime(format='%Y-%m-%d') for date in pd.Series(s.unique())}
return s.apply(lambda v: dates[v])
%timeit ts_activity['date_year_month'] = fast_parse_date(ts_activity['date'])
# 44.9 s ± 194 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
La jointure doit maintenant prendre en compte l'heure et non plus uniquement le jour.
Obtenir les données de température, pluie, humidité pour chaque date (à la journée) de l'activité des stations.
Données météo #24