not_constant
not_constant(data, columns=None, group_by=None)Check if a DataFrame has constant columns.
Parameters
data: PolarsLazyOrDataFrame-
The input DataFrame to check for null values.
columns: Optional[PolarsColumnType] = None-
Columns to consider for null value check. By default, all columns are checked.
group_by: Optional[PolarsOverClauseInput] = None-
When specified perform the check per group instead of the whole column, by default None
Returns
| Name | Type | Description |
|---|---|---|
| PolarsLazyOrDataFrame | The original polars DataFrame or LazyFrame when the check passes |
Examples
>>> import polars as pl
>>> import pelage as plg
>>> df = pl.DataFrame({"a": [1, 2]})
>>> df.pipe(plg.not_constant, "a")
shape: (2, 1)
┌─────┐
│ a │
│ --- │
│ i64 │
╞═════╡
│ 1 │
│ 2 │
└─────┘
>>> df = pl.DataFrame({"b": [1, 1]})>>> df.pipe(plg.not_constant)
Traceback (most recent call last):
...
pelage.types.PolarsAssertError: Details
shape: (1, 2)
┌────────┬────────────┐
│ column ┆ n_distinct │
│ --- ┆ --- │
│ str ┆ u32 │
╞════════╪════════════╡
│ b ┆ 1 │
└────────┴────────────┘
Error with the DataFrame passed to the check function:
--> Some columns are constantThe folloing example details how to perform this checks for groups:
>>> import polars as pl
>>> import pelage as plg
>>> df = pl.DataFrame(
... {
... "a": [1, 2, 1, 1],
... "b": ["A", "A", "B", "B"],
... }
... )
>>> df.pipe(plg.not_constant, "a")
shape: (4, 2)
┌─────┬─────┐
│ a ┆ b │
│ --- ┆ --- │
│ i64 ┆ str │
╞═════╪═════╡
│ 1 ┆ A │
│ 2 ┆ A │
│ 1 ┆ B │
│ 1 ┆ B │
└─────┴─────┘>>> df.pipe(plg.not_constant, "a", group_by="b")
Traceback (most recent call last):
...
pelage.types.PolarsAssertError: Details
shape: (1, 3)
┌─────┬────────┬────────────┐
│ b ┆ column ┆ n_distinct │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ u32 │
╞═════╪════════╪════════════╡
│ B ┆ a ┆ 1 │
└─────┴────────┴────────────┘
Error with the DataFrame passed to the check function:
--> Some columns are constant within a given group