cycquery.ops.ConditionInMonthsΒΆ

class ConditionInMonths(timestamp_col, months, not_=False, binarize_col=None)[source]ΒΆ

Bases: QueryOp

Filter rows based on a timestamp being in a list of years.

Parameters:
  • timestamp_col (str) – Timestamp column name.

  • months (Union[int, List[int]]) – Months in which the timestamps must be.

  • not – Take negation of condition.

  • binarize_col (Optional[str]) – If specified, create a Boolean column of name binarize_col instead of filtering.

Examples

>>> ConditionInMonths("col1", [1, 2])(table)
>>> ConditionInMonths("col1", 1)(table)
>>> ConditionInMonths("col1", 1, binarize_col="col1_bool")(table)

Methods

__call__(table, return_cond=False)[source]ΒΆ

Process the table.

Parameters:
  • table (Union[Select, Subquery, Table, DBTable]) – Table on which to perform the operation.

  • return_cond (bool) – Return the condition instead of filtering.

Returns:

Processed table.

Return type:

sqlalchemy.sql.selectable.Subquery