Comments (7)
Actually, not a coincidence I saw the bump and it reminded me of asking for this default.
from polars.
Chiming in, I think pl.index()
is better than pl.row_index()
. It's simpler, and all horizontal expressions use horizontal_
, so the "row" part is unnecessary.
It also seems to be a super obvious operation and very common to use, why is there any argument about it?
from polars.
Coincidentally, the pl.row_index()
issue received a bump earlier today.
from polars.
@ritchie46 is this one ok to do or do you have any objections?
from polars.
This feels counter-intuitive to me: I would expect a range function called without specified bounds to raise.
Adding pl.row_index()
(with the same implementation you propose) to the API would make more sense in my opinion.
EDIT: Furthermore, pl.int_range()
could not be used as a join expression since it doesn't return an elementwise expression (see #12420 (comment))
from polars.
@mcrumiller I, for one, am not arguing against pl.index
or pl.row_index
or whatever other name it could have. It's just that those were already ruled out so this is a middle ground.
@Oreilles Lots of things are counterintuitive until you get used to them. That said, I don't really share that sense of it being counterintuitive since it exists in a context that has a length that is a natural default so why not make it the default?
from polars.
Intuitiveness certainely is subjective, but using pl.int_range()
to generate an index has some drawbacks that would cripple its use case compared to an actual row_index
function.
int_range
doesn't reflex the intent in the wayrow_index
orwith_row_index
does (wouldwith_int_range
make sense ? Maybe, but arguably less intuitively).int_range
defaults toInt64
and index columns generated withwith_row_index
areUInt32
, so they cannot be merged on by default.int_range
cannot be used as a join expression... which would likely be the primary use case for using it instead ofwith_row_index
(see #12420 (comment))
from polars.
Related Issues (20)
- Change all columns one time HOT 5
- map_elements replaces all array elements with nulls HOT 1
- Let arr.reshape use Expr as inputs instead of just python tuple
- Import and Export Schema Objects to JSON
- error[E0599]: no variant or associated item named `Struct` found for enum `polars_core::datatypes::DataType` in the current scope HOT 2
- `with_columns(dict)` fail silently if key exists as column HOT 5
- Polars write database - Rest API call failing with AWS Lambda trigger HOT 1
- Change `read_csv` and `read_ipc` to use object store instead of fsspec
- `.over()` fails with `.top_k_by` HOT 3
- `join_nulls` in "asof" join HOT 3
- exception on numpy slicing literal column with object column
- Scanning cloud paths with percentages '%' fails
- Make pl.Enum(...) return type rather than instance HOT 2
- Elementwise check on `join` expressions is too restrictive HOT 3
- Built-in datasets and a function to load them HOT 1
- Python test workflows may fail due to failure to download `torch` dependency HOT 1
- `scan_parquet` does not optimise `slice` or `tail` operations HOT 3
- Apply function to rows of dictionaries in `map_rows`
- De-duplicate decompression in CSV/NDJSON scans
- import numpy with initial null value HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from polars.