For the sake of transparency, a short mailing list thread from November 2021 is here: https://email@example.com/thread/DNT... Corresponding (low-activity) feature request where you also commented: https://github.com/numpy/numpy/issues/20453
On Sat, Jul 30, 2022, at 16:42, Matteo Santamaria wrote:
I’d like to open a discussion on supporting callables within `np.ndarray.__getitem__`. The intent is to make long function-chaining expressions more ergonomic by removing the need for an intermediary, temporary value.
tmp = long_and_complicated_expression(arr) return tmp[tmp > 0]
we would allow
return long_and_complicated_expression(arr)[lambda x: x > 0]
This feature has long been supported by pandas’ .loc accessor, where I’ve personally found it very valuable. In accordance with the pandas implementation, the callable would be required to take only a single argument.
In terms of semantics, it should always be the case that `arr[fn] == arr[fn(arr)]`.
I do realize that expanding the API and supporting additional indexing methods is not without cost, so I open the floor to anyone who’d like to weigh in for/against the proposal.
NumPy-Discussion mailing list -- firstname.lastname@example.org To unsubscribe send an email to email@example.com https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: firstname.lastname@example.org