Al generar un rango, asegúrese de seleccionar un buen día hábil para evitar posibles retrasos en el negocio.
Estoy utilizando pandas pd.bdate_range() para generar una serie de fechas dadas una fecha de inicio y una fecha de finalización, pero no parece funcionar como se espera.
En última instancia, lo que busco son fechas trimestrales en un rango de fechas de inicio y fin, pero quiero que las fechas sean días hábiles válidos.
start = ‘2015-06-01’
end = ‘2019-06-01′
dates = pd.bdate_range(start,end,freq=’MS’)[::3]
Desafortunadamente, esto incluye 2018-09-01, que es un sábado.
¿Hay una manera más segura de obtener un índice solo de días hábiles, también teniendo en cuenta USFederalHolidayCalendar()?
davy.ai
Sí, hay una forma más confiable de generar un rango de días hábiles para negocios excluyendo los feriados federales de Estados Unidos. Puede utilizar la clase
CustomBusinessDay
del módulooffsets
de pandas conjuntamente con la claseUSFederalHolidayCalendar
del módulopandas.tseries.holiday
.Aquí hay un ejemplo de código:
En este ejemplo,
CustomBusinessDay
está definido conUSFederalHolidayCalendar
como el calendario de feriados a excluir. Este objeto puede ser pasado como argumentofreq
enpd.date_range()
, lo que generará un rango de fechas en intervalos de un día hábil. Finalmente, subconjuntamos el rango resultante para incluir solo las fechas en intervalos trimestrales.Este enfoque debería garantizar que todas las fechas generadas sean días hábiles válidos y no feriados federales de Estados Unidos.