Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
Tips and Traps¶
LazyFrame.filter
filters rows using anExpr
whileDataFrame.filter
filters rows using a mask of the typeChunkedArray<BooleanType>
.
In [2]:
:timing
:sccache 1
:dep polars = { version = "0.21.1", features = ["lazy", "parquet"] }
Out[2]:
In [3]:
use polars::prelude::*;
use polars::df;
In [8]:
let frame = df![
"names" => ["a", "b", "c"],
"values" => [1, 2, 3],
"values_nulls" => [Some(1), None, Some(3)]
].unwrap();
frame
Out[8]:
Convert the DataFrame to a lazy one
and then filter rows using an Expr
.
In [9]:
frame.lazy().filter(
col("values").gt(lit::<i32>(1))
).collect()
Out[9]:
In [15]:
let frame = df![
"names" => ["a", "b", "c"],
"values" => [1, 2, 3],
"values_nulls" => [Some(1), None, Some(3)]
].unwrap();
let lframe = frame.lazy();
[lframe.fetch(2), lframe.fetch(2)]
In [ ]: