Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

Tips and Traps

  1. LazyFrame.filter filters rows using an Expr while DataFrame.filter filters rows using a mask of the type ChunkedArray<BooleanType>.

sccache: true
shape: (3, 3) ┌───────┬────────┬──────────────┐ │ names ┆ values ┆ values_nulls │ │ --- ┆ --- ┆ --- │ │ str ┆ i32 ┆ i32 │ ╞═══════╪════════╪══════════════╡ │ a ┆ 1 ┆ 1 │ ├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ b ┆ 2 ┆ null │ ├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ c ┆ 3 ┆ 3 │ └───────┴────────┴──────────────┘

Convert the DataFrame to a lazy one and then filter rows using an Expr.

Ok(shape: (2, 3) ┌───────┬────────┬──────────────┐ │ names ┆ values ┆ values_nulls │ │ --- ┆ --- ┆ --- │ │ str ┆ i32 ┆ i32 │ ╞═══════╪════════╪══════════════╡ │ b ┆ 2 ┆ null │ ├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ c ┆ 3 ┆ 3 │ └───────┴────────┴──────────────┘)
[lframe.fetch(2), lframe.fetch(2)]
        ^^^^^^^^ `lframe` moved due to this method call
[lframe.fetch(2), lframe.fetch(2)]
                  ^^^^^^ value used here after move
let lframe = frame.lazy();
    ^^^^^^ move occurs because `lframe` has type `LazyFrame`, which does not implement the `Copy` trait
use of moved value: `lframe`