
I find pandas.IndexSlice makes a lot of operations easier to spell. As simple as it is, it's a valuable capability. Rather than every library—or a number of them anyway—creating the same 4 lines of code with a different name, it would be much nicer to have it as a class __getitem__ method, e.g. slice[...], or as an attribute of the slice object, such as slice.literal[...]. On Mon, Jul 23, 2018, 7:20 PM Stefan Behnel <stefan_ml@behnel.de> wrote:
On Mon, Jul 23, 2018 at 4:24 AM Paul Moore wrote:
I thought the reason the proposal got nowhere was because it's pretty simple to define it yourself:
class SliceHelper: ... def __getitem__(self, slice): ... return slice ... SH = SliceHelper() SH[1::3] slice(1, None, 3)
Did I miss something significant about why this wasn't sufficient?
I think a SliceHelper class like this is a reasonable solution, but there would be a lot of value having it a standard place somewhere in the standard library (e.g., operator.subscript).
Both pandas and NumPy include this helper object under different names (pandas.IndexSlice and numpy.index_exp / numpy.s_), but it would be surprising/unexpected for pandas/numpy specific helpers to show up when not using one of those libraries. I do the exact same sorts of indexing manipulations with xarray, dask and TensorFlow.
Given that this is basically a simple feature to make it easier to work with Python syntax (so there's no danger it will change in the future), I think there is a lot to be said for putting it in the standard library in one place so it's obvious what to use and users don't have to relearn
Stephan Hoyer schrieb am 23.07.2018 um 18:01: that
name for this object and/or reimplement it.
Please copy that comment into the ticket and ask for it to be reopened.
https://bugs.python.org/issue24379
Stefan
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/