github pola-rs/polars py-0.20.3
Python Polars 0.20.3

latest releases: py-1.7.1, rs-0.43.1, py-1.7.0...
8 months ago

🏆 Highlights

  • add plot namespace (which defers to hvplot) (#13238)

🚀 Performance improvements

  • optimize set bit count (#13317)
  • speed up .dt.truncate for large numbers of years (#13310)
  • don't eagerly evaluate error branches (#13311)
  • don't trigger internal borrwing in numpy memmap (#13304)
  • don't needlessly allocate validity in concat/rechunk (#13288)
  • add fast path to count_bits_set_by_offsets (#13253)
  • make .dt.truncate('*mo') more than 3x faster (#13192)

✨ Enhancements

  • support negative indices in gather in group_by context (#13373)
  • validate Enum categories (#13356)
  • improve Series/DataFrame init from existing Series/DataFrame objects (#13344)
  • support negative indexing in gather (select context) (#13343)
  • support min_periods for temporal rolling aggregations (#13342)
  • support REGEXP and RLIKE pattern matching in SQL engine (#13359)
  • emit suggestion for how to replace map_elements sigmoid function with expressions (#13347)
  • Support Enum types in interchange protocol (#13368)
  • add plot namespace (which defers to hvplot) (#13238)
  • gracefully handle panics in plugins (#13329)
  • rework pl.exclude as a pure selector, allowing other selectors as input (#13301)
  • Implement unique/n_unique/unique_counts/is_unique/is_duplicated for Null series (#13307)
  • support common variant spelling STDEV in the SQL engine (in addition to STDDEV) (#13303)
  • enhance expression-level filter syntax with support for multiple predicates and kwargs (#12689)
  • change doc links to new url docs.pola.rs (#13290)
  • support horizontal concatenation of LazyFrames (#13139)
  • Rename Utf8 data type to String, keep Utf8 as alias (#13257)
  • dispatch strict_cast via cast (#13255)
  • Impl any/all for array type (#13250)
  • add cancellable queries (#13178)
  • add offset parameter to gather_every (#13156)
  • Support Array dtype AnyValue Series construction (#12817)
  • Allow step parameter in int_ranges to take an expression (#13148)
  • make python map_batches safer (#13181)
  • Implement count for DataFrame/LazyFrame (#13153)

🐞 Bug fixes

  • don't lose track of ones and zeros dtype, improve use with Array, raise error if dtype invalid (#13326)
  • updated Display trait for enum categoricals (#13331)
  • nested dtypes: export logical type in plugins (#13325)
  • fix invalid dtype setting in array (#13327)
  • fix csv parser error when commented-out rows precede the header row (#13318)
  • invalid schema outer join after projection pd (#13315)
  • invalid predicate optimization (#13313)
  • Account for null values in categorical unique/n_unique (#13308)
  • fix schema when subtracting (#13309)
  • broadcasting of unit LHS in string operations (#12737)
  • sorting categorical lexically bugs on null values (#13271)
  • improve replace on categoricals (#13223)
  • round trip to JSON and back should preserve Enum type (#13267)
  • fix return type hint of list series any/all (#13265)
  • sink_csv deadlock (#13239)
  • Correctly use read_parquet for all binary inputs (#13218)
  • is_in operator for categoricals (#13205)
  • Better handle mismatched dtypes in replace (#13213)
  • Fix replace fast path by casting old input to the right data type (#13176)
  • ndjson nested null schema inference (#13206)
  • don't cast to unknown dtypes (#13197)
  • maintain old join behavior in window expression (#13179)

🛠️ Other improvements

  • reverse condtion order in udfs _expr function (#13348)
  • Update release workflow for new upload/download artifact versions (#13355)
  • Allow construction of Series from memory buffers (#13323)
  • add 'pipe littering' to 'coming from pandas' section (#13335)
  • Refactor functionality related to Series buffers (#13291)
  • Restore light/darkmode switch in API reference (#13312)
  • Copy Makefile build commands to top level (#13293)
  • Fix release flags (#13298)
  • Re-enable consortium standard tests (#13296)
  • Update CODEOWNERS (#13292)
  • Add CPU compatibility check (#13134)
  • Change base url of docs/guide to docs.pola.rs (#13281)
  • Fix source link for dev docs (#13279)
  • fix return type hint of list series any/all (#13265)
  • Fix display of overloaded signatures (#13258)
  • clean up bytecode parsing a bit (#13221)
  • Add a couple of docstring examples to Series methods (#13244)
  • remove unnecessary arg unpacking (#13241)
  • update rustc (#13219)
  • fix horizontal concatenation documentation (#13141)
  • Replace blackdoc by ruff's new docstring formatter (#13182)
  • Update ruff & ruff settings (#13126)
  • Link to latest object_store docs in api doc (#13180)
  • Fix failing test (#13171)

Thank you to all our contributors for making this release possible!
@MarcoGorelli, @TNieuwdorp, @adamreeve, @alexander-beedie, @c-peters, @cjfuller, @dependabot, @dependabot[bot], @mcrumiller, @nameexhaustion, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @robvanmieghem and @stinodego

Don't miss a new polars release

NewReleases is sending notifications on new releases.