Migration guide.
Operation that require columns to be sorted will now give a warning if they are not explicitly sorted, or tagged as sorted.
# 1. inform polars that a column is sorted on the DataFrame / LazyFrame.
(
df.set_sorted("foo")
.groupby_dynamic(..)
)
# 2. inform polars inline via the `set_sorted` expression
df.join_asof(df2, on=pl.col("foo").set_sorted())
# 3. explicitly sort first
# this is expensive if the data is already sorted
df.sort("foo")
✨ Enhancements
- expose quantile/mean for duration (#8491)
- require explicitly sorted flag for upsample (#8488)
- allow for _saturating suffix in duration strings (#8479)
🐞 Bug fixes
- don't error on cast if column is not projected (#8495)
- ensure window function succeeds on empty frame (#8492)
- don't set verbose on union (#8487)
- check literal/group length before claiming agg sta… (#8486)
🛠️ Other improvements
- Remove unneeded operation in
strptime
(#8496) - additional parametric testing docs/examples (#8485)
- improve sorted warning/ fix tests (#8484)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @alexander-beedie, @ritchie46 and @stinodego