Polars Highlights 3 Tricks to Speed Data Work on Version 1.44.2
Updated
Updated · KDnuggets · Sep 21
Polars Highlights 3 Tricks to Speed Data Work on Version 1.44.2
2 articles · Updated · KDnuggets · Sep 21
Summary
Polars’ latest guide says most slow scripts miss one of two speed levers: its Rust-based expression engine or its query optimizer, then lays out three fixes checked on Polars 1.44.2.
The first fix swaps pl.read_parquet for pl.scan_parquet, letting a LazyFrame push filters and column selection into the file scan so unnecessary rows and columns are never fully decoded.
A second pattern uses .over() to return group-level calculations on every row without a group_by, aggregate and join-back round trip, preserving row order in one pass.
The third replaces Python-level map_elements calls with native expressions such as when/then/otherwise, keeping work inside Polars’ engine and avoiding a documented performance penalty.
Across all 3 tricks, the article’s broader rule is to delay collect(), avoid crossing back into Python or memory too early, and keep transformations inside the optimized execution plan.