Ho una serie temporale di diversi giorni di dati di 1 minuto e vorrei fare una media di tutti i giorni per ora del giorno.Modo più veloce per raggruppare l'ora del giorno in panda
Questo è molto lento:
from datetime import datetime
from pandas import date_range, Series
time_ind = date_range(datetime(2013, 1, 1), datetime(2013, 1, 10), freq='1min')
all_data = Series(randn(len(time_ind)), time_ind)
time_mean = all_data.groupby(lambda x: x.time()).mean()
vuole quasi un minuto per correre!
Mentre qualcosa come:
time_mean = all_data.groupby(lambda x: x.minute).mean()
richiede solo una frazione di secondo.
C'è un modo più veloce per raggruppare in base all'ora del giorno?
Qualche idea sul perché sia così lento?
dt.time non è ottimizzato dai panda. Ci vuole molto tempo per convertire un pandas TimeSeries in un array datetime.time. – waitingkuo