Check if an expression is between the given lower and upper bounds
Description
Check if an expression is between the given lower and upper bounds
Usage
<Expr>$is_between(lower_bound, upper_bound, closed = "both")
Arguments
lower_bound
|
Lower bound, can be an Expr. Strings are parsed as column names. |
upper_bound
|
Upper bound, can be an Expr. Strings are parsed as column names. |
closed
|
Define which sides of the interval are closed (inclusive). This can be
either “left” , “right” , “both” or
“none” .
|
Details
Note that in polars, NaN
are equal to other
NaN
s, and greater than any non-NaN
value.
Value
Expr
Examples
library("polars")
df = pl$DataFrame(num = 1:5)
df$with_columns(
is_between = pl$col("num")$is_between(2, 4),
is_between_excl_upper = pl$col("num")$is_between(2, 4, closed = "left"),
is_between_excl_both = pl$col("num")$is_between(2, 4, closed = "none")
)
#> shape: (5, 4)
#> ┌─────┬────────────┬───────────────────────┬──────────────────────┐
#> │ num ┆ is_between ┆ is_between_excl_upper ┆ is_between_excl_both │
#> │ --- ┆ --- ┆ --- ┆ --- │
#> │ i32 ┆ bool ┆ bool ┆ bool │
#> ╞═════╪════════════╪═══════════════════════╪══════════════════════╡
#> │ 1 ┆ false ┆ false ┆ false │
#> │ 2 ┆ true ┆ true ┆ false │
#> │ 3 ┆ true ┆ true ┆ true │
#> │ 4 ┆ true ┆ false ┆ false │
#> │ 5 ┆ false ┆ false ┆ false │
#> └─────┴────────────┴───────────────────────┴──────────────────────┘
# lower and upper bounds can also be column names or expr
df = pl$DataFrame(
num = 1:5,
lower = c(0, 2, 3, 3, 3),
upper = c(6, 4, 4, 8, 3.5)
)
df$with_columns(
is_between_cols = pl$col("num")$is_between("lower", "upper"),
is_between_expr = pl$col("num")$is_between(pl$col("lower") / 2, "upper")
)
#> shape: (5, 5)
#> ┌─────┬───────┬───────┬─────────────────┬─────────────────┐
#> │ num ┆ lower ┆ upper ┆ is_between_cols ┆ is_between_expr │
#> │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
#> │ i32 ┆ f64 ┆ f64 ┆ bool ┆ bool │
#> ╞═════╪═══════╪═══════╪═════════════════╪═════════════════╡
#> │ 1 ┆ 0.0 ┆ 6.0 ┆ true ┆ true │
#> │ 2 ┆ 2.0 ┆ 4.0 ┆ true ┆ true │
#> │ 3 ┆ 3.0 ┆ 4.0 ┆ true ┆ true │
#> │ 4 ┆ 3.0 ┆ 8.0 ┆ true ┆ true │
#> │ 5 ┆ 3.0 ┆ 3.5 ┆ false ┆ false │
#> └─────┴───────┴───────┴─────────────────┴─────────────────┘