custom_check
checks.custom_check(data, expresion)
Use custom Polars expression to check the DataFrame, based on .filter()
.
The expression when used through the dataframe method .filter()
should return an empty dataframe. This expression should express the requierement for values that are not wanted in the dataframe. For instance, if a column should not contain the value 4
, use the expression pl.col("column") != 4
.
Analog to dbt-utils fonction: expression_is_true
Parameters
data: PolarsLazyOrDataFrame
-
Polars DataFrame or LazyFrame containing data to check.
expresion: pl.Expr
-
Polar Expression that can be passed to the
.filter()
method. As describe above, use an expression that should keep forbidden values when passed to the filter
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, 3]})
>>> df.pipe(plg.custom_check, pl.col("a") < 4)
3, 1)
shape: (
┌─────┐
│ a │--- │
│
│ i64 │
╞═════╡1 │
│ 2 │
│ 3 │
│
└─────┘>>> df.pipe(plg.custom_check, pl.col("a") != 3)
Traceback (most recent call last):
...
pelage.checks.PolarsAssertError: Details1, 1)
shape: (
┌─────┐
│ a │--- │
│
│ i64 │
╞═════╡3 │
│
└─────┘with the DataFrame passed to the check function:
Error -->Unexpected data in `Custom Check`: [(col("a")) != (dyn int: 3)]