es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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()?

Tags:  , ,

Answer

  1. Avatar for 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ódulo offsets de pandas conjuntamente con la clase USFederalHolidayCalendar del módulo pandas.tseries.holiday.

    Aquí hay un ejemplo de código:

    import pandas as pd
    from pandas.tseries.holiday import USFederalHolidayCalendar
    from pandas.tseries.offsets import CustomBusinessDay
    
    start = '2015-06-01'
    end = '2019-06-01'
    
    usb = CustomBusinessDay(calendar=USFederalHolidayCalendar())
    dates = pd.date_range(start=start, end=end, freq=usb)
    
    quarterly_dates = dates[::63] # ajuste según sea necesario para intervalos trimestrales
    

    En este ejemplo, CustomBusinessDay está definido con USFederalHolidayCalendar como el calendario de feriados a excluir. Este objeto puede ser pasado como argumento freq en pd.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.

Comments are closed.