DateFlagsTransform

class DateFlagsTransform(day_number_in_week: Optional[bool] = True, day_number_in_month: Optional[bool] = True, day_number_in_year: Optional[bool] = False, week_number_in_month: Optional[bool] = False, week_number_in_year: Optional[bool] = False, month_number_in_year: Optional[bool] = False, season_number: Optional[bool] = False, year_number: Optional[bool] = False, is_weekend: Optional[bool] = True, special_days_in_week: Sequence[int] = (), special_days_in_month: Sequence[int] = (), out_column: Optional[str] = None)[source]

Bases: etna.transforms.base.Transform, etna.transforms.base.FutureMixin

DateFlagsTransform is a class that implements extraction of the main date-based features from datetime column.

Notes

Small example of week_number_in_month and week_number_in_year features

timestamp

day_number_in_week

week_number_in_month

week_number_in_year

2020-01-01

4

1

53

2020-01-02

5

1

53

2020-01-03

6

1

53

2020-01-04

0

2

1

2020-01-10

6

2

1

2020-01-11

0

3

2

Create instance of DateFlags.

Parameters
  • day_number_in_week (Optional[bool]) – if True, add column with weekday info to feature dataframe in transform

  • day_number_in_month (Optional[bool]) – if True, add column with day info to feature dataframe in transform

  • day_number_in_year (Optional[bool]) – if True, add column with number of day in a year with leap year numeration (values from 1 to 366)

  • week_number_in_month (Optional[bool]) – if True, add column with week number (in month context) to feature dataframe in transform

  • week_number_in_year (Optional[bool]) – if True, add column with week number (in year context) to feature dataframe in transform

  • month_number_in_year (Optional[bool]) – if True, add column with month info to feature dataframe in transform

  • season_number (Optional[bool]) – if True, add column with season info to feature dataframe in transform

  • year_number (Optional[bool]) – if True, add column with year info to feature dataframe in transform

  • is_weekend (Optional[bool]) – if True: add column with weekends flags to feature dataframe in transform

  • special_days_in_week (Sequence[int]) – list of weekdays number (from [0, 6]) that should be interpreted as special ones, if given add column with flag that shows given date is a special day

  • special_days_in_month (Sequence[int]) – list of days number (from [1, 31]) that should be interpreted as special ones, if given add column with flag that shows given date is a special day

  • out_column (Optional[str]) –

    base for the name of created columns;

    • if set the final name is ‘{out_column}_{feature_name}’;

    • if don’t set, name will be transform.__repr__(), repr will be made for transform that creates exactly this column

Inherited-members

Methods

fit(*args)

Fit model.

fit_transform(df)

May be reimplemented.

inverse_transform(df)

Inverse transforms dataframe.

transform(df)

Get required features from df.

fit(*args) etna.transforms.timestamp.date_flags.DateFlagsTransform[source]

Fit model. In this case of DateFlags does nothing.

Return type

etna.transforms.timestamp.date_flags.DateFlagsTransform

transform(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame[source]

Get required features from df.

Parameters

df (pandas.core.frame.DataFrame) – dataframe for feature extraction, should contain ‘timestamp’ column

Returns

dataframe with extracted features

Return type

pandas.core.frame.DataFrame