cycquery.ops.ConditionInYearsΒΆ

class ConditionInYears(timestamp_col, years, not_=False, binarize_col=None)[source]ΒΆ

Bases: QueryOp

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

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

  • years (Union[int, List[int]]) – Years 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

>>> ConditionInYears("col1", [2019, 2020])(table)
>>> ConditionInYears("col1", 2019)(table)
>>> ConditionInYears("col1", 2019, 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