Python Polars 0.16.1
🏆 Highlights
- Formalize list aggregation difference between groupbys, selection and window functions (#6487)
- automagically upconvert
with_columns
kwarg expressions with multiple output names to struct; extend**named_kwargs
support toselect
(#6497)
⚠️ Breaking changes
- error on string <-> date cmp (#6498)
- Formalize list aggregation difference between groupbys, selection and window functions (#6487)
- show where error messages originated (#6482)
- Remove deprecated paths from
Series.__getitem__
(#6048) - change behaviour of named rows (#6302)
- Remove deprecated
read/write_json
arguments (#5990) - make
schema
,schema_overrides
, andorient
consistent on all user-facing interfaces (#6387) - Groupby iteration now returns tuples of (name, data) (#6350)
- Remove
Groupby.pivot
(#6016) - Remove deprecated argument aliases (#5993)
- Change
Series.shuffle
default behaviour (#5991) - Change
Expr.is_between
default behaviour (#5985) - Restrict certain function parameters to be keyword-only (#6464)
✨ Enhancements
- let cast_time_zone accept None (#6539)
- automagically upconvert
with_columns
kwarg expressions with multiple output names to struct; extend**named_kwargs
support toselect
(#6497) - add some missing type annotation in
series
dispatch methods (#6523) - better errors in get_ptr and a probability on a boolean… (#6522)
- add utc parameter to strptime (#6496)
- add meta 'has_multiple_outputs', 'is_regex_projec… (#6500)
- error on string <-> date cmp (#6498)
- ~30% faster
iter_rows(named=True)
andto_dicts()
, if pyarrow available (#6493) - show where error messages originated (#6482)
- Remove deprecated paths from
Series.__getitem__
(#6048) - change behaviour of named rows (#6302)
- Remove deprecated
read/write_json
arguments (#5990) - Groupby iteration now returns tuples of (name, data) (#6350)
- Remove
Groupby.pivot
(#6016) - Remove deprecated argument aliases (#5993)
- Change
Series.shuffle
default behaviour (#5991) - Change
Expr.is_between
default behaviour (#5985) - Restrict certain function parameters to be keyword-only (#6464)
🐞 Bug fixes
- implement ser/de for BinaryChunked (#6543)
- on frame-init from generator, initial
chunk_size
cannot be smaller thaninfer_schema_length
(#6541) - raise if tz_localize called on UTC-aware (#6526)
- make concat_list group aware (#6527)
- error on invalid expanding expression (#6521)
- create from dicts directly as struct categorical (#6520)
- fix oob in arr.get by expressions (#6519)
- fix cse schema (#6518)
- panic when max_len -1 is reached (#6494)
- Formalize list aggregation difference between groupbys, selection and window functions (#6487)
- fix(rust, python) validate tz in with_time_zone (#6417)
🛠️ Other improvements
- Remove
verify_series_and_expr_api
util (#6524) - Disable some tests for Windows (#6532)
- Remove unnecessary brackets in doc examples (#6332)
- Enable some tests for Windows (#6511)
- Fix test issue with tmp directory (#6508)
- Fix some deprecation warnings (#6495)
- added all missing examples for temporal expressions (#6488)
- Utilize pytest-xdist for faster unittests (#6483)
- test(python) I/O test improvements (#6475)
- make
schema
,schema_overrides
, andorient
consistent on all user-facing interfaces (#6387) - improved error message from Expr on incorrect usage in boolean context (#6473)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @alexander-beedie, @gab23r, @papparapa, @ritchie46, @romanovacca, @stinodego and @zundertj