Per un sacco di date, ho bisogno di calcolare il giorno lavorativo successivo, dove conto per le vacanze.performance di giorno personalizzato giorno offset panda
Attualmente, sto usando qualcosa come il codice qui sotto, che ho incollato da IPython notebook:
import pandas as pd
from pandas.tseries.holiday import USFederalHolidayCalendar
cal = USFederalHolidayCalendar()
bday_offset = lambda n: pd.datetools.offsets.CustomBusinessDay(n, calendar=cal)
mydate = pd.to_datetime("12/24/2014")
%timeit with_holiday = mydate + bday_offset(1)
%timeit without_holiday = mydate + pd.datetools.offsets.BDay(1)
Sul mio computer, la linea with_holiday viene eseguito in ~ 12 millisecondi; e la linea without_holiday viene eseguita in ~ 15 microsecondi.
Esiste un modo per rendere la funzione bday_offset più veloce?
Grazie. Speravo di essere in grado di passare il numero di giorni come parametro, ma ho bisogno di un giorno di compensazione il 90% delle volte, quindi la tua soluzione ti aiuterà molto. – hahdawg
@hahdawg Vedi i documenti, puoi scrivere '2 * bday_us' – JohnE