cycquery.ops.ConditionSubstringΒΆ

class ConditionSubstring(col, substrings, any_=True, not_=False, binarize_col=None, **cond_kwargs)[source]ΒΆ

Bases: QueryOp

Filter rows on based on having substrings.

Can be specified whether it must have any or all of the specified substrings. This makes no difference when only one substring is provided

Parameters:
  • col (str) – Column name on which to condition.

  • substrings (Union[str, List[str]]) – Substrings.

  • any – If true, the row must have just one of the substrings. If false, it must have all of the substrings.

  • not – Take negation of condition.

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

  • **cond_kwargs (Any) – Optional keyword arguments for processing the condition.

Examples

>>> ConditionSubstring("col1", ["a", "b"])(table)
>>> ConditionSubstring("col1", ["a", "b"], any_=False)(table)
>>> ConditionSubstring("col1", ["a", "b"], 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