# Polars: issue triage
Need some extra eyes on an issue before making a decision?
## 2025-11-28
- https://github.com/pola-rs/polars/issues/24998#issuecomment-3439397950 - ok to change in `sum_horizontal`?
- `list`
## 2025-10-03
* preserve nulls in pct_change https://github.com/pola-rs/polars/issues/22670. OK to change as "breaking" (bug fix)?
## 2025-09-05
* compare datatypes: https://github.com/pola-rs/polars/issues/24210
* `lit(Series)` behavior - https://github.com/pola-rs/polars/issues/23337. `lit()` constructor does not always create a scalar (e.g. `lit(Series)` creates a column) - suggested to have some form of API that strictly always creates scalars?
* See latest issue comments for suggested APIs
* Change `from_arrow` to always return `Series` from `ArrowStreamExportables` https://github.com/pola-rs/polars/issues/24511
## 2025-08-08
* When `Date` needs to be transformed to `Datetime`, which resolution to use?
* Reject `df.rename(a=b)`
## 2025-07-11
* `sample()` should shuffle when `fraction=1` (https://github.com/pola-rs/polars/issues/13685)
* Sample should output order always and shuffle would be needed to
* Add `pl.row_index()` (https://github.com/pola-rs/polars/issues/22164)
* Previously rejected - https://github.com/pola-rs/polars/issues/12420#issuecomment-1880145564
* Expression for percent en/decoding (https://github.com/pola-rs/polars/issues/23390)
* `sample` with fraction should have an `exact: bool` flag
* Revisit before 2.0, as this may be a breaking change.
* Make issue for this (Simon)
* Pipe with schema
* Make issue for this (Gijs)
## 2025-06-13
- nulls in n-ary operations (https://github.com/pola-rs/polars/issues/16200, https://github.com/pola-rs/polars/issues/17827):
- decision: align `{any,all}_horizontal` with vertical ones
- simple linear regression: https://github.com/pola-rs/polars/issues/22089. Close, and just document as "recipe"?
- out of scope, but document
- "kind of a tragedy" timedelta truncation https://github.com/pola-rs/polars/issues/11625
- `dt.days_in_month`: ok to accept contribution?
sure
- `replace_strict` https://github.com/pola-rs/polars/issues/22593
ambiguousness related to broadcasting
- `Series.__setitem__`: strict cast?
## Future
* Categorical API for mapping category values https://github.com/pola-rs/polars/issues/22311
* Proposed https://github.com/pola-rs/polars/issues/22311#issuecomment-2828372397
## 2025-02-21
- `quarter_end`, with different quarters. 'q[jan]' / 'q[feb]' / etc...? https://github.com/pola-rs/polars/issues/21183
should be fine. how to specify starting month? `pl.col('a').dt.quarter_end(start_month=12)`
implementation should share things
- Use PyCapsule Interface in `from_dataframe`? https://github.com/pola-rs/polars/pull/21377
- Kahan summation keeps coming up:
- https://github.com/pola-rs/polars/issues/21358
- https://github.com/pola-rs/polars/issues/5325
- https://github.com/pola-rs/polars/issues/9318
- https://github.com/pola-rs/polars/issues/9383
## 2025-01-24
- Business days are a recurring request from company's I've taught at. Let's
discuss plans for broader support? https://github.com/pola-rs/polars/issues/20884
- remove LazyFrame.clone?
-
## 2024-11-29
- floordiv vs truncdiv? https://github.com/pola-rs/polars/pull/19949
- lazy assertion utilities: something like `.assert_no_nulls`? I remember reading about such requests a few times but can't find them right now
- boundary behaviour of `interpolate` https://github.com/pola-rs/polars/pull/18355
- preserve leading and trailing nulls (current behaviour), or extend (like NumPy)? Or add `forward_fill_by`?
- configurable plotting backend - gonna try to get something
together using Plotly
- interchange protocol: move `from_dataframe`, or even consider deprecating? https://github.com/pola-rs/polars/issues/20065
## 2024-10-04
- rolling: behaviour of consecutive elements? https://github.com/pola-rs/polars/issues/18126
close this for Polars
- allow_exact_matches in `join_asof`? https://github.com/pola-rs/polars/issues/7932
- Series.to_dummies: `dummy_null`? resolved: easy to workaround
## 2024-08-23
- Return type of `group_by_dynamic`: for lazy its aligned with LazyGroupBy, but
not for eager. Align, and include all the convenience methods (e.g. `.sum()` etc.) on
`group_by_dynamic` too? https://github.com/pola-rs/polars/issues/17916
yes. also: enable common subexpression elimination in Polars 1.7
- Iterating over groups in `LazyFrame.group_by` - close? https://github.com/pola-rs/polars/issues/8966
- cumulative n_unique https://github.com/pola-rs/polars/issues/18157
start by adding to the docstring
## 2024-07-26
- There's two similar issue labels: `incomplete` and `needs repro`. Just choose one?
- `unary_elementwise` vs `apply_generic` - are both necessary? just standardise on one?
e.g.
- `apply_into_string_amortized` vs `apply_to_buffer`: the latter is only used in the `pig_latinnify`
example. just, use `apply_into_string_amortized` instead, then teach that to plugins users,
so they have a function which also works with non-string inputs?
- ok to add `binary_into_string_amortized`?
## 2024-07-12
- `Expr.list.is_duplicated` - does it need adding, or is `list.eval` enough? https://github.com/pola-rs/polars/issues/6137
also asked in: https://github.com/pola-rs/polars/issues/9466
use list.n_unique vs list.len, optimise
- GD Script? Not familiar with this, can it just be closed? https://github.com/pola-rs/polars/issues/6575
- symmetric-difference join: outer + filter + let lazy / new streaming engine take care of it? https://github.com/pola-rs/polars/issues/6947
- DataFrame.value_counts? this was a fairly popular addition to pandas 1.1 https://github.com/pola-rs/polars/issues/6138
- pl.from_numpy: overload return type depending on input ndim? https://github.com/pola-rs/polars/issues/17454
Gijs to make enh issue about non-writeable flag
## 2024-06-28
- deprecate `DataFrame.rows`? Why not use tell people to use `list(df.iter_rows())` if they really need the entire list, so that
people who don't can enjoy lower peak memory usage for free?
no
- extra rolling dtypes: https://github.com/pola-rs/polars/issues/16988
in some cases, where it makes sense
- multiply dataframe by list: https://github.com/pola-rs/polars/issues/17147
rejected
- extra stats in pivot_table: https://github.com/pola-rs/polars/issues/16372
rejected
- `.list.map_elements`: https://github.com/pola-rs/polars/issues/16452. it's already possible, and it's probably good if such performance destroyers are hard to write?
- `DataFrame.show`? https://github.com/pola-rs/polars/issues/16534
accepted, add configs as args, support for lazyframe, only print (without returning anything)
## 2024-06-14
- reverse changing default `coalesce` in left join
- try to address autocomplete in ipython: https://github.com/pola-rs/polars/issues/16933
- broadcast binary operations: https://github.com/pola-rs/polars/issues/16070. Should return result and raise
on different-length inputs
## 2024-05-31
- push forwards deprecation of `offset` argument in `truncate` / `round`/ `upsample`? https://github.com/pola-rs/polars/pull/15478 . I'm working on optimising them and it just adds complexity...
ok!
- `descending` in `top_k`
- `unnest_all` https://github.com/pola-rs/polars/issues/12353
is None, unnest all
## 2024-05-17
- `pivot` / `unpivot`: https://github.com/pola-rs/polars/issues/11974
alias melt to unpivot
- accept `rolling / over`? https://github.com/pola-rs/polars/issues/12051
accepted
- `dt.month_end` for datetimes: last moment in month? breaking change for 1.0?
document better
- `struct.with_fields`: https://github.com/pola-rs/polars/issues/16082
pl.col.coords.struct.with_fields(x=pl.element().struct.field("x").sqrt())
## 2024-05-03
- `by` argument: when to split out into `func_by`, and when to have
`func(..., by=...)`? The former when not all args are applicable,
the latter when they are?
- ok for group-by-dynamic to change type of index column? https://github.com/pola-rs/polars/issues/15878
- https://github.com/pola-rs/polars/issues/16021 : plugins need to specify `dtype` of `pl.lit`?
## 2023-04-18
- https://github.com/pola-rs/polars/issues/15736 : should cache size be limited?
- InvalidOperationError vs ComputeError - when?
- https://github.com/pola-rs/polars/issues/15754#issuecomment-2065713093: quantile interpolation, default to `'linear'`?
- https://github.com/pola-rs/polars/issues/15700 replace_columns
- README import time comparison: perhaps package size would be good to include as well / instead?
- Polars: 85 MB
- pandas + numpy = 163 MB
- AWS Lambda package size limit: 250 MB
- pandas + numpy + pyarrow = 290 MB
visually: https://github.com/pola-rs/polars/issues/11599#issuecomment-2066308420
- call for proposals for PyData Amsterdam - anyone submitting? https://amsterdam.pydata.org/
## 2024-03-22
- https://github.com/pola-rs/polars/issues/9859 : simple aggs on list (e.g. list.min, list.max)
- https://discord.com/channels/908022250106667068/1082941945216782397/1220375752428753027 : top_k `descending` feels backwards
todo: make issues about descending and maintain_order
done:
- https://github.com/pola-rs/polars/issues/15238
- https://github.com/pola-rs/polars/issues/15236
- https://github.com/pola-rs/polars/issues/15193 : "start date" of iso week + year combination
- https://github.com/pola-rs/polars/issues/10054 `group_by(...).top_k` - `top_k(k, by, group_by)` would be more natural?
## 2024-03-08
- https://github.com/pola-rs/polars/issues/10481 `filename` arg in IO functions
- https://github.com/pola-rs/polars/issues/10794 EWMA by time
- https://github.com/pola-rs/polars/issues/10989 inconsistent `by`
- https://github.com/pola-rs/polars/issues/9099 : warning about map_elements return_dtype
- https://github.com/pola-rs/polars/issues/10968 : reading object from pandas. infer? respect `object`?