Dataframes powered by a multithreaded, vectorized query engine, written in Rust
OTHER License
Bot releases are visible (Hide)
Published by github-actions[bot] 7 months ago
(first|last)_non_null
(#15050)strict
parameter to DataFrame
constructor to allow non-strict construction (#15034)nulls_last
in streaming sort (#15061)count
agg (#15051)string_addition_to_linear_concat
(#15006)new
and old
parameters in replace
description (#15019)Thank you to all our contributors for making this release possible!
@MKisilyov, @MarcoGorelli, @alexander-beedie, @c-peters, @flisky, @jqnatividad, @mcrumiller, @mickvangelderen, @nameexhaustion, @petrosbar, @ritchie46, @stinodego and @trueb2
Published by github-actions[bot] 7 months ago
sink_parquet
(#14964)cum_count
on columns (#14849)Array
type in parquet (#14943)NamedFrom
in df!
macro (#14860)cum_count
on columns (#14849)count_rows
multi-threaded under-counting in parser.rs (#14963)with_columns
(#14859)polars_bail!
in polars_ensure!
(#14901)DataFrame.min
/max
for decimals (#14890)asof
from join strategy, change parameter from strategy
to how
in user guide (#14793)fastexcel
(#14907)POLARS_FORCE_ASYNC
env var parsing (#14909)with_columns
attribute in physical csv scanner of default engine. (#14837)Thank you to all our contributors for making this release possible!
@MarcoGorelli, @Sol-Hee, @alexander-beedie, @ambidextrous, @battmdpkq, @deanm0000, @dependabot, @dependabot[bot], @eitsupi, @flisky, @geekvest, @mcrumiller, @mickvangelderen, @nameexhaustion, @orlp, @petrosbar, @ritchie46 and @stinodego
Published by github-actions[bot] 7 months ago
sink_parquet
(#14964)Array
type in parquet (#14943)drop_first
parameter to Series.to_dummies
(#14846)read_database_uri
(#14682)count_rows
multi-threaded under-counting in parser.rs (#14963)read_database
behaviour with empty ODBC "iter_batches" (#14918)RecordBatch
objects when pyarrow <= 12
(#14922)read_database
now properly handles empty result sets from arrow-odbc
(#14916)with_columns
(#14859)include_index
in from_pandas
regarding "default indices" (#14920)fastexcel
(#14907)POLARS_FORCE_ASYNC
env var parsing (#14909)Thank you to all our contributors for making this release possible!
@MarcoGorelli, @alexander-beedie, @ambidextrous, @battmdpkq, @mcrumiller, @mickvangelderen, @orlp, @petrosbar and @ritchie46
Published by github-actions[bot] 8 months ago
overwrite_schema
parameter for DataFrame.write_delta
(#14879)cum_count
on columns (#14849)__slots__
to Polars classes (#14857)fastexcel
to show_versions
(#14869)cum_count
on columns (#14849)pl.read_database
(#14822)DataFrame.min
/max
for decimals (#14890)__reduce__
implementation on DataType
object (#14778)ambiguous
instead of use_earliest
(#14820)asof
from join strategy, change parameter from strategy
to how
in user guide (#14793)utils
module to _utils
to explicitly mark it as private (#14772)_cpu_check
module (#14768)Thank you to all our contributors for making this release possible!
@MarcoGorelli, @Sol-Hee, @alexander-beedie, @c-peters, @deanm0000, @dependabot, @dependabot[bot], @eitsupi, @flisky, @geekvest, @mcrumiller, @mickvangelderen, @nameexhaustion, @orlp, @petrosbar, @ritchie46 and @stinodego
Published by github-actions[bot] 8 months ago
Thank you to all our contributors for making this release possible!
@alexander-beedie, @c-peters, @dependabot, @dependabot[bot], @ritchie46 and @stinodego
Published by github-actions[bot] 8 months ago
_cpu_check
("read_cpu_flags") (#14758)Thank you to all our contributors for making this release possible!
@alexander-beedie, @ritchie46 and @stinodego
Published by github-actions[bot] 8 months ago
fill_null
value and default value of replace
(#14736)1-100x
. (#14746)list.contains()
for list of categoricals (#14744)DataFrame.sum
for decimals (#14732)datetime_to_int
util for AnyValue conversion (#14743)utils/convert.py
module (#14739)Thank you to all our contributors for making this release possible!
@MarcoGorelli, @c-peters, @nameexhaustion, @orlp, @petrosbar, @ritchie46 and @stinodego
Published by github-actions[bot] 8 months ago
values
columns in DataFrame.pivot
when values
is None (#14477)DataFrame::new_no_checks
and DataFrame::new_no_length_checks
unsafe (#14443)DatetimeChunked::convert_time_zone
(#14046)LiteralValue::to_anyvalue
to LiteralValue::to_any_value
(#14033)fill_null
value and default value of replace
(#14736)1-100x
. (#14746)is_not_null
is used (#14260)UnitVec
in polars-plan traversal (#14199)UnitVec
in streaming joins (#14197)ChunkId
(#14175)values
columns in DataFrame.pivot
when values
is None (#14477)rolling
accept index_column
of type UInt32 or UInt64 (#14669)DataFrame::new_no_checks
and DataFrame::new_no_length_checks
unsafe (#14443)flush
operator to streaming operators (#14500)pivot
would introduce duplicate column names (#14431)min
/max
for categorical dtype (#14112)DataType::from_arrow
(#14392)IntoLazy
trait for LazyFrame (#14323)mean_horizontal
expression (#14369)arr.shift
(#14298)list.n_unique
(#14306)u8
/i8
/u16
/i16
parsers to CSV reader (#14241)list.gather_every
(#14253)prefix/suffix_fields
(#14251)arr.to_struct
(#14202)IdxVec
generic as UnitVec
(#14196)unique
and hash_rows
for null
column (#14111)Null
columns (#14107)Series::from_any_values
logic (#14052)list
& array
measures of dispersion (#13245)convert_time_zone
on time-zone-naive datetime, convert as if converting from UTC (#13960)list.contains()
for list of categoricals (#14744)DataFrame.sum
for decimals (#14732)DataFrame/Series
repr (edge cases) (#14548)unique()
(#14668)is_in
for string in categorical/enum (#14576)transpose
(#14527)mean
and median
(#14376)index
and one of them was Struct (#14438)Series
from projection state (#14437)index
was Struct (#14308)clip
inputs (#14416)set_operation
if the input is sliced and be broadcast (#14303)par_iter
in list.to_struct
by POOL.install
(#14304)list.get
does not work on list of decimals (#14276)glimpse
overload signature (#14258)any/all_horizontal
with single input has incorrect type (#14256)set_operations
of binary dtype (#14152)StringFunction::Find
(#14129)Date
to Time
and vice versa (#14127)gt/lt
cmp for null dtype (#14119)1970-01-01
(#14050)melt
panic when there are no value vars (#14057)json_encode
should respect the logical type (#14063)SliceSink
with empty data (#14025)AnyValue::Null
to datatype Null
(#14045)list.min/max
with empty and/or None elements (#14018)polars
crate docs (#14608)upsample_stable
(#13623)README.md
(#14488)libz-ng-sys
on macOS (#14715)json
feature for polars-sql
crate (#14501)libz-ng-sys
on macOS (#14715)AnyValue
casting logic (#13140)setup-graphviz
action to v2 (#14418)make clean
command (#14408).cargo
directory to .gitignore (#14191)take_chunked
to polars-ops (#14185)clippy
lint to warn on debug macros (#14178)cargo update
(#14160)DatetimeChunked::convert_time_zone
(#14046)LiteralValue::to_anyvalue
to LiteralValue::to_any_value
(#14033)Thank you to all our contributors for making this release possible!
@BGR360, @CBell045, @CaselIT, @FBruzzesi, @JulianCologne, @Kylea650, @MarcoGorelli, @Migi, @NedJWestern, @Object905, @Vincenthays, @Wainberg, @alexander-beedie, @apcamargo, @braaannigan, @bsubei, @c-peters, @dannyfriar, @deanm0000, @dependabot, @dependabot[bot], @dpinol, @eLVas, @edavisau, @eitsupi, @engdoreis, @flisky, @grinya007, @i-aki-y, @ion-elgreco, @itamarst, @janosh, @jdanford, @kalekundert, @lukemanley, @mbuhidar, @mcrumiller, @nameexhaustion, @orlp, @petrosbar, @r-brink, @rben01, @reswqa, @rijkvp, @ritchie46, @stinodego, @taki-mekhalfa and @thomasfrederikhoeck
Published by github-actions[bot] 8 months ago
time_unit=None
to Datetime
constructor (#14708)Expr.meta.write_json/Expr.from_json
to Expr.meta.serialize/Expr.deserialize
(#14490)ignore_nulls
for ewm
methods (#14663)DataFrame/LazyFrame.approx_n_unique
(#14594)Date
(#14716)__slots__
to most Polars classes (#13236)values
columns in DataFrame.pivot
when values
is None (#14477)rolling
accept index_column
of type UInt32 or UInt64 (#14669)dtype
inference from Python types (#14600)DataFrame/Series
repr (edge cases) (#14548)unique()
(#14668)RecordBatch
in from_arrow
(#14683)is_in
for string in categorical/enum (#14576)read_database
issue loading specific datetime types from SQL Server backends (#14627)pl.count
(#14691)ewm_*
and rolling_*
methods (#14667)Series.binary.encode
and Series.binary.decode
. (#14579)Series.kurtosis
(#14681)LazyGroupBy.len
(#14661)libz-ng-sys
on macOS (#14715)libz-ng-sys
on macOS (#14715)make requirements
when conda environment is active (#14693)uv
for make requirements
(#14618)Makefile
option (#14602)SeriesView
in Series.to_numpy
(#14588)Thank you to all our contributors for making this release possible!
@Kylea650, @MarcoGorelli, @Object905, @alexander-beedie, @bsubei, @c-peters, @eLVas, @itamarst, @mbuhidar, @mcrumiller, @nameexhaustion, @orlp, @rijkvp, @ritchie46 and @stinodego
Published by github-actions[bot] 8 months ago
allow_copy
parameter to DataFrame.to_numpy
(#14569)from_arrow
when array has 0 chunks (#14562)map_elements
for additional string functions (#14565)allow_copy
parameter to DataFrame.to_numpy
(#14569)read_database
interop with sqlalchemy Session
and various Result
objects (#14557)map_elements
for temporal attributes/methods (#14529)Thank you to all our contributors for making this release possible!
@CBell045, @alexander-beedie, @c-peters, @nameexhaustion, @ritchie46 and @stinodego
Published by github-actions[bot] 8 months ago
writable
flag to DataFrame.to_numpy
(#14520)flush
operator to streaming operators (#14500)transpose
(#14527)is_numeric
check on Series.std/var
(#14493)schema
input in DataFrame constructor (#14483)Config.save_to_file
(#14533)infer_schema_length
param description (#14233)README.md
(#14488)Series.bin.ends_with
, Series.bin.starts_with
, Series.bin.decode
, Series.bin.encode
. (#14478)Thank you to all our contributors for making this release possible!
@FBruzzesi, @NedJWestern, @c-peters, @dannyfriar, @i-aki-y, @jdanford, @mbuhidar, @mcrumiller, @ritchie46, @stinodego and @taki-mekhalfa
Published by github-actions[bot] 8 months ago
pivot
to prepare new functionality (#14428)pivot
would introduce duplicate column names (#14431)min
/max
for categorical dtype (#14112)polars.testing.*
in pytest stack traces (#14399)clip
(#14410)mean_horizontal
expression (#14369)arr.shift
(#14298)list.n_unique
(#14306)Categorical/Enum
in Series.to_numpy
(#14275)Array
dtype (#14265)mean
and median
(#14376)index
and one of them was Struct (#14438)Series
from projection state (#14437)index
was Struct (#14308)clip
inputs (#14416)map_elements
(#14397)Series.to_numpy
(#14341)set_operation
if the input is sliced and be broadcast (#14303)par_iter
in list.to_struct
by POOL.install
(#14304)list.get
does not work on list of decimals (#14276)read_database
docstring note about getting the connection URI string for sqlalchemy (#14461)slice
/ len_chars
(#14395)DataFrame.rows_by_key
(#14149)Series.bin.contains
(#14297)arg_min/max
test case (#14439)setup-graphviz
action to v2 (#14418)make clean
command (#14408)_or
to or_
in PyO3 (same for _xor/_and
) (#14393)DataFrame.to_numpy
structured code (#14348)Series.to_numpy
to handle Decimal/Time types in Rust (#14296)Series.to_numpy
with timezones (#14337)Thank you to all our contributors for making this release possible!
@BGR360, @CaselIT, @MarcoGorelli, @Migi, @NedJWestern, @Vincenthays, @alexander-beedie, @deanm0000, @dependabot, @dependabot[bot], @engdoreis, @flisky, @grinya007, @itamarst, @janosh, @kalekundert, @lukemanley, @mbuhidar, @mcrumiller, @petrosbar, @r-brink, @rben01, @reswqa, @ritchie46, @stinodego, @taki-mekhalfa and @thomasfrederikhoeck
Published by github-actions[bot] 9 months ago
String/Binary
type. (#13748)DatetimeChunked::convert_time_zone
(#14046)LiteralValue::to_anyvalue
to LiteralValue::to_any_value
(#14033)drop_columns
to drop
(#13754)pl.count()
to pl.len()
(#13719)row_count_name
/row_count_offset
parameters in IO functions to row_index_*
(#13563)with_row_count
to with_row_index
(#13494)is_not_null
is used (#14260)UnitVec
in polars-plan traversal (#14199)UnitVec
in streaming joins (#14197)ChunkId
(#14175)DataFrame.describe
by presorting columns (#13822)arr.sum
for inner non-null bool (#13800)u8
/i8
/u16
/i16
parsers to CSV reader (#14241)list.gather_every
(#14253)prefix/suffix_fields
(#14251)arr.to_struct
(#14202)IdxVec
generic as UnitVec
(#14196)unique
and hash_rows
for null
column (#14111)Null
columns (#14107)Series::from_any_values
logic (#14052)list
& array
measures of dispersion (#13245)convert_time_zone
on time-zone-naive datetime, convert as if converting from UTC (#13960)timestamp
precision modifier (#13936)LEFT
, RIGHT
and SUBSTR
SQL string funcs (#13888)explode
for ArrayNameSpace
(#13923)ignore_nulls
for arr.join
(#13919)ignore_nulls
for list.join
(#13701)ignore_nulls
for pl.concat_str
(#13877)binview
(#13871)-pl.col(...)
(#13776)EXTRACT
with "century", "millennium", and "timezone" parts (#13634)numeric
and/or decimal
types (#13739)str.zfill
(#13790)String/Binary
type. (#13748)nulls_last
for Series.sort
(#13794)count_matches
for array namespace (#13675)nulls_last
for list/array.sort
(#13795)drop_columns
to drop
(#13754)str.slice
(#13747)contains
for ArrayNameSpace (#13638)rolling()
expression formatting (#13657)is_between
in Rust (#11945)pattern
of str.extract
(#13607)join
for ArrayNameSpace (#13586)json
(#13624)EXTRACT
and DATE_PART
(#13603)BinaryView
to parquet
writer/reader. (#13489)POSITION
and STRPOS
(#13585)is_in
support for array dtype (#13559)str.find
expression, returning the index of a regex pattern or literal substring (#13561)LIKE
and ILIKE
pattern matching (#13522)cum_count
expression function (#13478)IF
control flow function (#13491)MOD
function (#13502)CONCAT_WS
string function (#13483)BinaryView
/Utf8View
IPC support (#13464)RIGHT
and REVERSE
string functions (#13461)BinaryView
and Utf8View
in polars-arrow
(#13243)CONCAT
function (#13428)REPLACE
string function (#13431)SIGN
function (#13429)IFNULL
function (#13432)bytes
, bit
, and hex
literals (#13389)glimpse
overload signature (#14258)any/all_horizontal
with single input has incorrect type (#14256)set_operations
of binary dtype (#14152)StringFunction::Find
(#14129)Date
to Time
and vice versa (#14127)gt/lt
cmp for null dtype (#14119)1970-01-01
(#14050)melt
panic when there are no value vars (#14057)json_encode
should respect the logical type (#14063)SliceSink
with empty data (#14025)AnyValue::Null
to datatype Null
(#14045)list.min/max
with empty and/or None elements (#14018)arg_min/max
on categoricals should respect ordering (#13998)arr/list.contains
(#13959)is_not_null
for Struct columns (#13921)sum_horizontal
(#13880)min_periods
(#13863)ignore_nulls
for list.join
(#13701)check_map_output_len
(#13854)abs
for Decimal, error on Date/Time/Datetime (#13821)gather_every
should work on agg context (#13810)is_in
(#13814)transpose
(#13783)str.concat
correctly ignore single null value (#13751)by_name
and by_dtype
should allow empty list as input (#11024)NonZeroUsize
for batch_size
parameter in write_csv/sink_csv/scan_ndjson
(#13726)rolling
expressions (#13666)av_buffer
cast numeric record to temporal type (#13661)inline_cast
AnyValue raise (#13595)LazyFrame::join()
no longer ignores 3 JoinArgs
parameters (#13570)scatter
for null values (#13578)cum_count
with regards to start value / null values (#13535)None
as null value for Object
dtype (#13564)Expr.replace
to single value did not replace NULLs (#13551)AnyValue::StructOwned
panic when hashing (#13553)replace
(#13217)shift_and_fill
parameters (#13379)with_row_count
(#13793).cargo
directory to .gitignore (#14191)take_chunked
to polars-ops (#14185)clippy
lint to warn on debug macros (#14178)cargo update
(#14160)DatetimeChunked::convert_time_zone
(#14046)LiteralValue::to_anyvalue
to LiteralValue::to_any_value
(#14033)filter
to polars-compute
(#13897)expr/general
non-anonymous (#13832)pl.duration
non-anonymous (#13762)pl.count()
to pl.len()
(#13719)dt.with_time_unit
in favor of cast(pl.Int64).cast(pl.Datetime(time_unit, time_zone))
(#13667)lazy-regex
feature to regex
to align polars
with polars-lazy
crate (#13647)Documentation
/ Build system
sections to the changelog (#13594)make build
(#13579)row_count_name
/row_count_offset
parameters in IO functions to row_index_*
(#13563)with_row_count
to with_row_index
(#13494)Thank you to all our contributors for making this release possible!
@29antonioac, @Bromeon, @ByteNybbler, @JulianCologne, @MarcNuebel, @MarcoGorelli, @NedJWestern, @ShivMunagala, @Vincenthays, @Wainberg, @aaarrti, @alexander-beedie, @apcamargo, @bchalk101, @braaannigan, @c-peters, @cgevans, @cmdlineluser, @collinprince, @deanm0000, @dependabot, @dependabot[bot], @dpinol, @edavisau, @eitsupi, @flisky, @grinya007, @hamishs, @henryharbeck, @ion-elgreco, @itamarst, @jacksonthall22, @jcrozum, @kstoneriv3, @langestefan, @lukemanley, @mcrumiller, @mkucijan, @nameexhaustion, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @s-banach, @shritesh, @stinodego, @taki-mekhalfa, @thomasaarholt, @tim-stephenson, @universalmind303, @valorien and @wjandrea
Published by github-actions[bot] 9 months ago
threadpool_size
to thread_pool_size
(#14236)is_not_null
is used (#14260)Series.to_numpy
for boolean/temporal types (#14261)UnitVec
in polars-plan traversal (#14199)UnitVec
in streaming joins (#14197)ChunkId
(#14175)u8
/i8
/u16
/i16
parsers to CSV reader (#14241)F-order
data in and out of numpy to polars zero copy (#14259)list.gather_every
(#14253)prefix/suffix_fields
(#14251)Series.to_numpy
to return f64
for Int32/UInt32
Series with nulls instead of f32
(#14240)read_excel
format detection, and support for excel 97-2004 workbooks (#14234)arr.to_struct
(#14202)IdxVec
generic as UnitVec
(#14196)unique
and hash_rows
for null
column (#14111)Null
columns (#14107)group_by
(#14071)list
& array
measures of dispersion (#13245)convert_time_zone
on time-zone-naive datetime, convert as if converting from UTC (#13960)glimpse
overload signature (#14258)any/all_horizontal
with single input has incorrect type (#14256)Series.to_numpy
on booleans without nulls return bool
type (#14239)is_elementwise=True
parameter) (#14135)read_excel
"calamine" (fastexcel) engine (#14171)set_operations
of binary dtype (#14152)Date
to Time
and vice versa (#14127)gt/lt
cmp for null dtype (#14119)read_excel
updates (#14039)1970-01-01
(#14050)Object
dtype designation (#14072)melt
panic when there are no value vars (#14057)json_encode
should respect the logical type (#14063)SliceSink
with empty data (#14025)Series.to_pandas
for categorical types (#14028)any_horizontal
and all_horizontal
(#14148)return_dtype
parameter for map_elements
and map_batches
(#14114)str.replace
and str.replace_all
(#13382)name
operation is allowed per expression (#14075)dtype_if_empty
param (#14068)*args
in Series.to_numpy
(#14248)meta
module (#14230).cargo
directory to .gitignore (#14191)take_chunked
to polars-ops (#14185)cargo update
(#14160)Thank you to all our contributors for making this release possible!
@JulianCologne, @MarcoGorelli, @Vincenthays, @Wainberg, @alexander-beedie, @apcamargo, @braaannigan, @c-peters, @deanm0000, @dependabot, @dependabot[bot], @dpinol, @edavisau, @eitsupi, @flisky, @grinya007, @ion-elgreco, @itamarst, @lukemanley, @mcrumiller, @orlp, @r-brink, @reswqa, @ritchie46, @stinodego and @taki-mekhalfa
Published by github-actions[bot] 9 months ago
String/Binary
type. (#13748)dtype_if_empty
parameter for Series
constructor (#13976)read_excel
, using fastexcel
(~8-10x speedup) (#14000)DataFrame.describe
by presorting columns (#13822)arr.sum
for inner non-null bool (#13800)UnstableWarning
for unstable functionality (#13948)read_excel
, using fastexcel
(~8-10x speedup) (#14000)describe
on a LazyFrame
(#13982)timestamp
precision modifier (#13936)LEFT
, RIGHT
and SUBSTR
SQL string funcs (#13888)explode
for ArrayNameSpace
(#13923)describe
code (#13720)ignore_nulls
for arr.join
(#13919)ignore_nulls
for list.join
(#13701)ignore_nulls
for pl.concat_str
(#13877)int_range
and int_ranges
signatures (#13867)binview
(#13871)-pl.col(...)
(#13776)EXTRACT
with "century", "millennium", and "timezone" parts (#13634)numeric
and/or decimal
types (#13739)str.zfill
(#13790)String/Binary
type. (#13748)nulls_last
for Series.sort
(#13794)ftp
URLs, improve URL check (#13781)list.min/max
with empty and/or None elements (#14018)to_pandas()
work for Dataframe and Series with dtype Object
(#13910)pl.concat(how="align")
when no columns are shared between frames (#13941)date_as_object=False
as default for Series.to_pandas
(just like DataFrame.to_pandas
) (#13984)arr/list.contains
(#13959)max_colname_length
formatting in glimpse()
(#13969)is_not_null
for Struct columns (#13921)sum_horizontal
(#13880)min_periods
(#13863)ignore_nulls
for list.join
(#13701)filter
behaviour matches docstring (expect equivalence with eq
) (#13864)abs
for Decimal, error on Date/Time/Datetime (#13821)gather_every
should work on agg context (#13810)is_in
(#13814)None
, fix Series
edge-case (#13780)glimpse
test (#13979)describe
tidy-up, and slight rewording of some Exception docstrings (#13942)filter
to polars-compute
(#13897)expr/general
non-anonymous (#13832)Thank you to all our contributors for making this release possible!
@ByteNybbler, @JulianCologne, @MarcoGorelli, @Wainberg, @alexander-beedie, @c-peters, @dependabot, @dependabot[bot], @edavisau, @flisky, @ion-elgreco, @itamarst, @jacksonthall22, @kstoneriv3, @mcrumiller, @mkucijan, @nameexhaustion, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @stinodego, @taki-mekhalfa, @thomasaarholt and @valorien
Published by github-actions[bot] 9 months ago
String/Binary
type. (#13748)arr.sum
for inner non-null bool (#13800)ignore_nulls
for list.join
(#13701)ignore_nulls
for pl.concat_str
(#13877)int_range
and int_ranges
signatures (#13867)binview
(#13871)-pl.col(...)
(#13776)EXTRACT
with "century", "millennium", and "timezone" parts (#13634)numeric
and/or decimal
types (#13739)str.zfill
(#13790)String/Binary
type. (#13748)nulls_last
for Series.sort
(#13794)ftp
URLs, improve URL check (#13781)sum_horizontal
(#13880)min_periods
(#13863)ignore_nulls
for list.join
(#13701)filter
behaviour matches docstring (expect equivalence with eq
) (#13864)abs
for Decimal, error on Date/Time/Datetime (#13821)gather_every
should work on agg context (#13810)is_in
(#13814)None
, fix Series
edge-case (#13780)filter
to polars-compute
(#13897)expr/general
non-anonymous (#13832)Thank you to all our contributors for making this release possible!
@ByteNybbler, @MarcoGorelli, @Wainberg, @alexander-beedie, @dependabot, @dependabot[bot], @edavisau, @flisky, @ion-elgreco, @itamarst, @kstoneriv3, @mcrumiller, @mkucijan, @nameexhaustion, @orlp, @reswqa, @ritchie46, @stinodego, @taki-mekhalfa and @thomasaarholt
Published by github-actions[bot] 9 months ago
str.concat
(#13690)pl.count()
to pl.len()
(#13719)dt.with_time_unit
in favor of cast(pl.Int64).cast(pl.Datetime(time_unit, time_zone))
(#13667)count_matches
for array namespace (#13675)nulls_last
for list/array.sort
(#13795)read_excel
to load from remote http locations (#13753)str.slice
(#13747)transpose
(#13783)str.concat
correctly ignore single null value (#13751)by_name
and by_dtype
should allow empty list as input (#11024)NonZeroUsize
for batch_size
parameter in write_csv/sink_csv/scan_ndjson
(#13726)with_row_count
(#13793)n_unique
and approx_n_unique
docs (#13752)str.strip_chars
/ strip_chars_start
/ strip_chars_end
docstrings (#13697)datetime_ranges
(#13695)pl.duration
non-anonymous (#13762)describe
on Object types (#13689)Thank you to all our contributors for making this release possible!
@29antonioac, @MarcoGorelli, @NedJWestern, @Wainberg, @alexander-beedie, @cgevans, @henryharbeck, @langestefan, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @stinodego and @universalmind303
Published by github-actions[bot] 9 months ago
partition_by(as_dict=True)
/ GroupBy.__iter__
in some cases (#13646)row_count_name
/row_count_offset
parameters in IO functions to row_index_*
(#13563)dt.datetime
in favor of dt.replace_time_zone(None)
(#13520)with_row_count
to with_row_index
(#13494)Expr.where
in favor of filter
(#13440)Enum
categories as Series (#13434)contains
for ArrayNameSpace (#13638)rolling()
expression formatting (#13657)is_between
in Rust (#11945)PolarsError
and PolarsWarning
class (#13615)ge, gt, ...
(#13167)pattern
of str.extract
(#13607)join
for ArrayNameSpace (#13586)json
(#13624)EXTRACT
and DATE_PART
(#13603)POSITION
and STRPOS
(#13585)pl.<function>
entries (#13336)is_in
support for array dtype (#13559)str.find
expression, returning the index of a regex pattern or literal substring (#13561)from_dataframe
natively (interchange protocol) (#10701)LIKE
and ILIKE
pattern matching (#13522)int_range
starting from 0 (#13530)cum_count
expression function (#13478)IF
control flow function (#13491)MOD
function (#13502)CONCAT_WS
string function (#13483)RIGHT
and REVERSE
string functions (#13461)BinaryView
and Utf8View
in polars-arrow
(#13243)CONCAT
function (#13428)REPLACE
string function (#13431)SIGN
function (#13429)IFNULL
function (#13432)bytes
, bit
, and hex
literals (#13389)partition_by(as_dict=True)
/ GroupBy.__iter__
in some cases (#13646)rolling
expressions (#13666)av_buffer
cast numeric record to temporal type (#13661)Series.eq_missing
should return an Expr when the input is an Expr (#13628)inline_cast
AnyValue raise (#13595)describe
for precise quantiles (#13593)scatter
for null values (#13578)cum_count
with regards to start value / null values (#13535)None
as null value for Object
dtype (#13564)scatter
to allow single temporal inputs (#13577)Expr.replace
to single value did not replace NULLs (#13551)openpyxl
and pyxlsb
engines (#13495)replace
(#13217)group_by
iteration when grouping by certain selectors (#13437)to_pandas
for 0x0 dataframe (#13420)from_buffer
(#13398)agg_list
argument in Expr.map_batches
(#13625)then
and otherwise
docstrings with "strings are parsed as column names" (#13630)sink_ndjson
to API reference. (#13627)Series
docstring examples (#13558)read_csv
(#13161) (#13545)int_range
docs for creating an index column (#13516)read_database_uri
docstring about escaping special characters in the connection string (#13514)threadpool_size
and get_index_type
(#13496)Series.struct.json_encode
to methods in Sphinx autosummary (#13443)series/list.py
(#13423)datetime.date
import in code block (#13419)Documentation
/ Build system
sections to the changelog (#13594)make build
(#13579)get_index_type
util (#13556)Thank you to all our contributors for making this release possible!
@Bromeon, @MarcNuebel, @MarcoGorelli, @ShivMunagala, @Wainberg, @aaarrti, @alexander-beedie, @bchalk101, @c-peters, @cgevans, @cmdlineluser, @collinprince, @deanm0000, @hamishs, @henryharbeck, @ion-elgreco, @jcrozum, @mcrumiller, @nameexhaustion, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @s-banach, @shritesh, @stinodego, @tim-stephenson and @wjandrea
Published by github-actions[bot] 10 months ago
.dt.truncate
for large numbers of years (#13310)count_bits_set_by_offsets
(#13253).dt.truncate('*mo')
more than 3x faster (#13192)gather
in group_by
context (#13373)REGEXP
and RLIKE
pattern matching in SQL engine (#13359)pl.exclude
as a pure selector, allowing other selectors as input (#13301)unique/n_unique/unique_counts/is_unique/is_duplicated
for Null
series (#13307)STDEV
in the SQL engine (in addition to STDDEV
) (#13303)filter
syntax with support for multiple predicates and kwargs (#12689)Utf8
data type to String
, keep Utf8
as alias (#13257)offset
parameter to gather_every
(#13156)Array
dtype AnyValue Series construction (#12817)step
parameter in int_ranges
to take an expression (#13148)map_batches
safer (#13181)count
for DataFrame/LazyFrame (#13153)ones
and zeros
dtype, improve use with Array
, raise error if dtype invalid (#13326)csv
parser error when commented-out rows precede the header row (#13318)unique/n_unique
(#13308)read_parquet
for all binary inputs (#13218)is_in
operator for categoricals (#13205)replace
(#13213)replace
fast path by casting old
input to the right data type (#13176)Series
from memory buffers (#13323)docs.pola.rs
(#13281)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
Published by github-actions[bot] 10 months ago
Enum
categorical data type which allows a fixed set of categories (#11822)Utf8
data type to String
(#13224)set_at_idx
to scatter
(#12687)dtype
parameter for int_range
on Rust side (#12940)Expr.count
to ignore null values by default (#12934)value_counts
resulting column name from counts
to count
(#12506)join
behavior with regard to nulls, add join_nulls
parameter to keep existing behavior (#12840)NaN
ordering to make NaNs compare greater than any other float, and equal to themselves (#12721)frame_equal
/series_equal
to equals
(#12663)not_
expression to not
on the Rust side (#12587)str.json_extract
to str.json_decode
(#12586).dt.truncate
for large numbers of years (#13310)count_bits_set_by_offsets
(#13253).dt.truncate('*mo')
more than 3x faster (#13192)any/all_horizontal
(#12976)truncate
(#12965)rolling_median
algorithm (#12704)merge_local_rhs_categorical
traversal (#12660)~7x
(#12552)gather
in group_by
context (#13373)REGEXP
and RLIKE
pattern matching in SQL engine (#13359)unique/n_unique/unique_counts/is_unique/is_duplicated
for Null
series (#13307)STDEV
in the SQL engine (in addition to STDDEV
) (#13303)offset
parameter to gather_every
(#13156)Array
dtype AnyValue Series construction (#12817)step
parameter in int_ranges
to take an expression (#13148)count
for DataFrame/LazyFrame (#13153)set_at_idx
to scatter
(#12687)any/all_horizontal
(#13144)str.contains_any
and str.replace_many
(Aho-Corasick algorithms) (#13073).aws
folder (#13062)scan_parquet
(#13060)replace
expression on the Rust side (#13002)hist
(#13014)end
before start
in date/time_range
(#12964)Null
dtype (#12975)dtype
parameter for int_range
on Rust side (#12940)Expr.count
to ignore null values by default (#12934)str.reverse
(#12878)value_counts
resulting column name from counts
to count
(#12506)std
and var
for Duration
columns (#12865)join
behavior with regard to nulls, add join_nulls
parameter to keep existing behavior (#12840)UInt
power (#10446)JOIN
and FROM
(#12819)Enum
categorical data type which allows a fixed set of categories (#11822)with_columns
(#12742)frame_equal
/series_equal
to equals
(#12663)by
column is not sorted in rolling aggregations (as opposed to raising), add warn_if_unsorted argument (#12398)read_csv
(#12519)LazyFrame.sink_ndjson
(#10786)csv
parser error when commented-out rows precede the header row (#13318)unique/n_unique
(#13308)is_in
operator for categoricals (#13205)replace
(#13213)replace
fast path by casting old
input to the right data type (#13176)NullChunked
no longer force single chunk (#13174)from_iter_xxx_trusted_len
(#13132)FunctionExpr
's scalar return type for is_in
(#13091)quantile(method="nearest")
(#13058)datetime_range
if starting on ambiguous datetime and earliest was specified (#13050)json_decode
per max buffer length (#13029)00:00
time zone as UTC (#13034)ranges
(#11900)sink_csv
(#12991)truncate
when truncating by multiple weeks (#12948)Err
result (#12953)ambiguous
parameter is not Utf8 (#12913)merge_sort
(#12923)rolling_var
/rolling_std
numerical stability (#12909)min
/max
due to incorrect SIMD mask construction (#12908)Expr.gather
(which was still showing deprecated take) (#12864)nan_min/max
incorrectly aggregating chunks with addition (#12848)group_by
(#12304)is_in
(#12800)NaN
ordering to make NaNs compare greater than any other float, and equal to themselves (#12721)append
/extend
with null series (#11824) (#12686)not_
expression to not
on the Rust side (#12587)performant,lazy,random
(#12600)eval
(#12563)group_by_dynamic
and rolling
(#12551)int_ranges
with negative step (#12548)docs.pola.rs
(#13281)Utf8
data type to String
(#13224)bytemuck
to 1.11
(#13191)polars-algo
reference in Cargo.toml (#13187)any/all_horizontal
(#13144)auto_explode
param name to returns_scalar
(#13119)group_by_dynamic
(#12906)make check
to only check polars
crate (#12834)atoi_simd
release (#12748)str.json_extract
to str.json_decode
(#12586)Thank you to all our contributors for making this release possible!
@0siride, @MarcoGorelli, @Object905, @PierreAttard, @Qqwy, @RoDmitry, @SeanTroyUWO, @TNieuwdorp, @Yerachmiel-Feltzman, @adamreeve, @alexander-beedie, @c-peters, @cardoso, @cjfuller, @dependabot, @dependabot[bot], @dmitrybugakov, @eitsupi, @fernandocast, @gab23r, @ion-elgreco, @itamarst, @jankislinger, @jeroenboeye, @kszlim, @mcrumiller, @nameexhaustion, @oli-clive-griffin, @orlp, @paddymul, @petrosbar, @r-brink, @rancomp, @reswqa, @ritchie46, @rob-sil, @robvanmieghem, @romanovacca, @stinodego, @tkarabela, @uchiiii and @xuestrange