将假期添加到USFederalHolidayCalendar()

时间:2017-06-29 14:30:58

标签: python pandas

我目前在python中使用pandas作为日历和假日,即。

us_bd = CustomBusinessDay(calendar=USFederalHolidayCalendar())

我想知道如何在默认日历中添加额外的假期?

特别是,我想在香港增加假期。

1 个答案:

答案 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工作日的问题是使用它来应用偏移量不是矢量化的,因此很慢(甚至在你使用它时会产生警告)。此外,一些国家的假期不能用规则来表示。因此,如果您没有很多,请考虑对您的假期进行“硬编码”,或者从其他来源加载它们(例如,将一次性网络抓取到文本文件中)。