pandas.tseries.holiday.HolidayCalendarFactory#

pandas.tseries.holiday.HolidayCalendarFactory(name, base, other, base_class=<class 'pandas.tseries.holiday.AbstractHolidayCalendar'>)[source]#

Create a holiday calendar class from two sets of rules.

The rules of base and other are merged by holiday name, with base winning any clash, and the result becomes the rules of a new calendar class. That class registers itself under name, so get_calendar() can find it later.

Parameters:
namestr

Name of the calendar class to create.

baseAbstractHolidayCalendar

Instance/subclass or array of Holiday objects whose rules take precedence.

otherAbstractHolidayCalendar

Instance/subclass or array of Holiday objects to merge into base.

base_classtype, default AbstractHolidayCalendar

The class the new calendar class inherits from.

Returns:
type

A new subclass of base_class holding the merged rules.

See also

tseries.holiday.AbstractHolidayCalendar.merge_class

Merge holiday calendars together.

tseries.holiday.get_calendar

Return an instance of a calendar based on its name.

tseries.holiday.register

Add a holiday calendar class to the registry of named calendars.

Examples

>>> from pandas.tseries.holiday import (
...     AbstractHolidayCalendar,
...     HolidayCalendarFactory,
...     USLaborDay,
...     USMemorialDay,
... )
>>> class MyCalendar(AbstractHolidayCalendar):
...     rules = [USMemorialDay]
>>> NewCalendar = HolidayCalendarFactory("NewCalendar", MyCalendar, USLaborDay)
>>> [rule.name for rule in NewCalendar.rules]
['Labor Day', 'Memorial Day']