accepted_values
checks.accepted_values(data, items)
Raises error if columns contains values not specified in items
Parameters
data: PolarsLazyOrDataFrame
items: Dict[str, List]
-
A dictionnary where keys are a string compatible with a pl.Expr, to be used with pl.col(). The value for each key is a List of all authorized values in the dataframe.
Returns
Type | Description |
---|---|
PolarsLazyOrDataFrame | The original polars DataFrame or LazyFrame when the check passes |
Examples
>>> import polars as pl
>>> import pelage as plg
>>> items = {"a": [1, 2, 3], "b": ["a", "b", "c"]}
>>> df = pl.DataFrame(items)
>>> df.pipe(plg.accepted_values, {"a": [1, 2, 3]})
3, 2)
shape: (
┌─────┬─────┐
│ a ┆ b │--- ┆ --- │
│ str │
│ i64 ┆
╞═════╪═════╡1 ┆ a │
│ 2 ┆ b │
│ 3 ┆ c │
│
└─────┴─────┘>>> df.pipe(plg.accepted_values, {"a": [1, 2]})
Traceback (most recent call last):
...
pelage.checks.PolarsAssertError: Details1, 1)
shape: (
┌─────┐
│ a │--- │
│
│ i64 │
╞═════╡3 │
│
└─────┘with the DataFrame passed to the check function:
Error -->It contains values that have not been white-Listed in `items`.
Showing problematic columns only.