Useful classes to generate date features and add them to TimeGPT.


CountryHolidays

 CountryHolidays (countries:List[str])

Given a list of countries, returns a dataframe with holidays for each country.

c_holidays = CountryHolidays(countries=['US', 'MX'])
periods = 365 * 5
dates = pd.date_range(end='2023-09-01', periods=periods)
holidays_df = c_holidays(dates)
holidays_df.head()
US_New Year’s DayUS_Martin Luther King Jr. DayUS_Washington’s BirthdayUS_Memorial DayUS_Independence DayUS_Labor DayUS_Columbus DayUS_Veterans DayUS_Veterans Day (Observed)US_ThanksgivingMX_Día de la Independencia [Independence Day]MX_Día de la Independencia [Independence Day] (Observed)MX_Día de la Revolución [Revolution Day] (Observed)MX_Día de la Revolución [Revolution Day]MX_Transmisión del Poder Ejecutivo Federal [Change of Federal Government]MX_Transmisión del Poder Ejecutivo Federal [Change of Federal Government] (Observed)MX_Navidad [Christmas]MX_Día de la Constitución [Constitution Day]MX_Año Nuevo [New Year’s Day] (Observed)MX_Día del Trabajo [Labour Day] (Observed)
2018-09-0300000100000000000000
2018-09-0400000000000000000000
2018-09-0500000000000000000000
2018-09-0600000000000000000000
2018-09-0700000000000000000000

SpecialDates

 SpecialDates (special_dates:Dict[str,List[str]])

Given a dictionary of categories and dates, returns a dataframe with the special dates.

special_dates = SpecialDates(
    special_dates={
        'Important Dates': ['2021-02-26', '2020-02-26'],
        'Very Important Dates': ['2021-01-26', '2020-01-26', '2019-01-26']
    }
)
periods = 365 * 5
dates = pd.date_range(end='2023-09-01', periods=periods)
holidays_df = special_dates(dates)
holidays_df.head()
Important DatesVery Important Dates
2018-09-0300
2018-09-0400
2018-09-0500
2018-09-0600
2018-09-0700