🚀 Performance improvements
- add
arr.count_match
expression and optimizearr.sum
forList<Boolean>
(#7023) - optimize
selection_to_pyexpr_list
(#7020) - avoid unnecessary function calls in
LazyFrame.with_columns()
(#7019) - remove O^2 behavior in melt (#7003)
- Improve performance of
expr_to_lit_or_expr
for arguments of typeExpr
by ~80% (#6967) - improve vec_hash perf for boolean and utf8 (#6963)
- don't pack utf8 columns in grouptuples
~5-15%
(#6959) - don't pack integer keys in determining
~8-18%
group tuples. (#6956) - use fxhash for all integers (#6954)
✨ Enhancements
- add
arr.count_match
expression and optimizearr.sum
forList<Boolean>
(#7023) - add sort for struct dtype (#7021)
- More ergonomic
coalesce
args (#6989) - raise informative error if invalid datetime_format passed to write_csv (#7005)
- Improve Series & Numpy arithmetic (#6983)
- More ergonomic
agg
args (#6982) - rename parse_dates => try_parse_dates (#6987)
- remove
packaging
and/ordistutils
dependency with a minimal version parser utility (#6972) - More ergonomic
over
args (#6986) - add
upper_bound
andlower_bound
methods toSeries
(#6990) - More ergonomic
col
args (#6996) - More ergonomic
sort
args (#6896) - Make groupby agg shortcuts available in lazy (#6944)
- add
map_dict
method for Series (#6946)
🐞 Bug fixes
- reflect time zone conversion in lazy dataframe schema (#7022)
- ensure set_sorted never panics (#7013)
- fix struct append 0 sliced (#7012)
- fix dtype of diff for uint8 (#7010)
- fix coalesce supertype (#7000)
- if given, respect dtype time zone when instantiating pl.lit value (#6999)
- fix fill_null for categoricals (#6998)
- dtype of pow function (#6985)
- fix is_duplicated for utf8 dtype (#6997)
- Remove check for path to be non-directory if use_pyarrow (#6994)
- if given, respect dtype timeunit when instantiating
pl.lit
value (#6991) - Add packaging to runtime dependencies (#6962)
- fix temporal logical types in pivot (#6957)
- typo in mean unit test - changed
median
->mean
(#6960) - ensure literals are expanded in streaming (#6952)
- str.contains strict=False took no effect (#6950)
🛠️ Other improvements
- date-time unit tests refactor (#7002)
- test lit series arithmetic order (#7015)
- More test restructure (#6961)
- Properly deprecate
.struct.to_frame
(#6958) - Properly deprecate GroupBy.agg_list (#6943)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @MatveyF, @alexander-beedie, @jakob-keller, @mslapek, @ozgrakkurt, @papparapa, @ritchie46, @sorhawell, @stinodego, @xhochy and @zundertj