not_constant
checks.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
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")
2, 1)
shape: (
┌─────┐
│ a │--- │
│
│ i64 │
╞═════╡1 │
│ 2 │
│
└─────┘>>> df = pl.DataFrame({"b": [1, 1]})
>>> df.pipe(plg.not_constant)
Traceback (most recent call last):
...
pelage.checks.PolarsAssertError: Details1, 2)
shape: (
┌────────┬────────────┐
│ column ┆ n_distinct │--- ┆ --- │
│ str ┆ u32 │
│
╞════════╪════════════╡1 │
│ b ┆
└────────┴────────────┘with the DataFrame passed to the check function:
Error -->Some columns are constant
The 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")
4, 2)
shape: (
┌─────┬─────┐
│ a ┆ b │--- ┆ --- │
│ str │
│ i64 ┆
╞═════╪═════╡1 ┆ A │
│ 2 ┆ A │
│ 1 ┆ B │
│ 1 ┆ B │
│
└─────┴─────┘>>> df.pipe(plg.not_constant, "a", group_by="b")
Traceback (most recent call last):
...
pelage.checks.PolarsAssertError: Details1, 3)
shape: (
┌─────┬────────┬────────────┐
│ b ┆ column ┆ n_distinct │--- ┆ --- ┆ --- │
│ str ┆ str ┆ u32 │
│
╞═════╪════════╪════════════╡1 │
│ B ┆ a ┆
└─────┴────────┴────────────┘with the DataFrame passed to the check function:
Error -->Some columns are constant within a given group