我目前在python中使用pandas作为日历和假日,即。
us_bd = CustomBusinessDay(calendar=USFederalHolidayCalendar())
我想知道如何在默认日历中添加额外的假期?
特别是,我想在香港增加假期。
答案 0 :(得分:2)
您可以使用pandas.tseries.holiday.HolidayCalendarFactory
撰写多个日历规则集。这里有一个例子:https://stackoverflow.com/a/33096916/4323和(稀疏)文档在这里:https://pandas.pydata.org/pandas-docs/stable/timeseries.html
说了这么多,如果你只需要几年的日历,你最好明确地使用假期列表和NumPy的busdaycalendar
。这是一个更高效的矢量化API(如果您确实需要很多年或复杂的规则,您也可以从Pandas创建NumPy日历)。 Pandas工作日的问题是使用它来应用偏移量不是矢量化的,因此很慢(甚至在你使用它时会产生警告)。此外,一些国家的假期不能用规则来表示。因此,如果您没有很多,请考虑对您的假期进行“硬编码”,或者从其他来源加载它们(例如,将一次性网络抓取到文本文件中)。