Apply filter to LazyFrame
Description
Filter rows with an Expression defining a boolean column. Multiple
expressions are combined with &
(AND). This is equivalent
to dplyr::filter()
.
Usage
<LazyFrame>$filter(...)
Arguments
…
|
Polars expressions which will evaluate to a boolean. |
Details
Rows where the condition returns NA
are dropped.
Value
A new LazyFrame
object with add/modified column.
Examples
#> shape: (50, 5)
#> ┌──────────────┬─────────────┬──────────────┬─────────────┬─────────┐
#> │ Sepal.Length ┆ Sepal.Width ┆ Petal.Length ┆ Petal.Width ┆ Species │
#> │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
#> │ f64 ┆ f64 ┆ f64 ┆ f64 ┆ cat │
#> ╞══════════════╪═════════════╪══════════════╪═════════════╪═════════╡
#> │ 5.1 ┆ 3.5 ┆ 1.4 ┆ 0.2 ┆ setosa │
#> │ 4.9 ┆ 3.0 ┆ 1.4 ┆ 0.2 ┆ setosa │
#> │ 4.7 ┆ 3.2 ┆ 1.3 ┆ 0.2 ┆ setosa │
#> │ 4.6 ┆ 3.1 ┆ 1.5 ┆ 0.2 ┆ setosa │
#> │ 5.0 ┆ 3.6 ┆ 1.4 ┆ 0.2 ┆ setosa │
#> │ … ┆ … ┆ … ┆ … ┆ … │
#> │ 4.8 ┆ 3.0 ┆ 1.4 ┆ 0.3 ┆ setosa │
#> │ 5.1 ┆ 3.8 ┆ 1.6 ┆ 0.2 ┆ setosa │
#> │ 4.6 ┆ 3.2 ┆ 1.4 ┆ 0.2 ┆ setosa │
#> │ 5.3 ┆ 3.7 ┆ 1.5 ┆ 0.2 ┆ setosa │
#> │ 5.0 ┆ 3.3 ┆ 1.4 ┆ 0.2 ┆ setosa │
#> └──────────────┴─────────────┴──────────────┴─────────────┴─────────┘
# This is equivalent to
# lf$filter(pl$col("Sepal.Length") > 5 & pl$col("Petal.Width") < 1)
lf$filter(pl$col("Sepal.Length") > 5, pl$col("Petal.Width") < 1)
#> polars LazyFrame
#> $explain(): Show the optimized query plan.
#>
#> Naive plan:
#> FILTER [(col("Sepal.Length")) > (5.0)] FROM
#> FILTER [(col("Petal.Width")) < (1.0)] FROM
#> DF ["Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width"]; PROJECT */5 COLUMNS; SELECTION: None