🏆 Highlights
- support
DataFrame
init frompydantic
model data (#8178)
🚀 Performance improvements
- fail fast on non-inferable strings in strptime if no
fmt
is provided (#8111) - make chunks search more resilient (#8229)
- SIMD accelerated
arg_min
/arg_max
(viaargminmax
) (#8074) - speed up csv parsing for slower datetimes formats (#8213)
- improve datetime interpret perf (#8209)
arr.eval
run on groupby expression engine when possible (#8199)- ~2-3x speedup for
DataFrame
init frompydantic
models (#8181)
✨ Enhancements
- add
use_earliest
argument toreplace_time_zone
for dealing with ambiguous datetimes (#8087) - fail loudly on .%f directive, as it differs from the Python standard library (#8237)
- SQL CTE's (#8208)
- automatically convert
series OP expr
->pl.lit(series) OP expr
where OP is arithmetic (#8225) - add pickle support for
LazyFrame
(#8220) - add duration cumsum and remainder (#8219)
- support
DataFrame
init from nesteddataclass
,pydantic
, andNamedTuple
objects (#8185) - better algorithm for streaming unique (#8003)
- Add approx distinct count via
approx_unique()
(#7937) - add percentiles to
describe
methods (#8169) - support
DataFrame
init frompydantic
model data (#8178) - display skipped row if same number of rows (#8170)
🐞 Bug fixes
- add special numpy float branch in anyvalue conversion (#8259)
- fix boolean par materialization (#8257)
- improve null/empty list construction (#8255)
- fix offsets in parallel utf8 materialization (#8254)
- nested struct logical type consistency (#8249)
- keep literal state if elementwise function is applied (#8195)
- decimal ensure backed arrow arrays have correct dtype (#8193)
🛠️ Other improvements
- parametric/hypothesis testing code cleanups (#8253)
- Rename
strptime
/strftime
args (#8221) - change sampling ratio for groupby strategy (#8223)
- Rename
Expr.list
toimplode
(#8165) - don't panic on err in offset_by (#8210)
- re-enable test parallization for Windows tests (#8214)
- Fix small typo: "im memory" -> "in memory" (#8187)
- remove unused dtype_to_arrow_type (#8177)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @alexander-beedie, @avimallu, @borchero, @chitralverma, @clickingbuttons, @ghuls, @josh, @jvdd, @rben01, @ritchie46, @stinodego and @universalmind303