On Tue, Sep 29, 2020 at 2:29 AM Christopher Barker <python...@gmail.com> wrote:
> Sorry if this isn't the right thread -- there's a few now. > > But for an example of using both positional and keyword index parameters: > > I maintain a library (gridded) that provides an abstraction over data on > various types of grid (in this case generally Oceanographic model output) > -- they can be rectangular grids, curvilinear, unstructured triangular, > .... The point of the library is to save the user from having to > understand how all those grids work and, rather, be able to work with the > data as if it were a continuous field. For example, if I want to know the > sea surface temperature at a given location, I need to figure out what cell > that location is in, what the values are at the corners of that cell, and > then interpolate over the cell. > > After abstracting that, one can create a gridded.Variable object, and > then do: > > sea_surface_temp.at(-78.123, 28.432) > > and get the value at those coordinates. > > So it would be pretty nifty to do: > > sea_surface_temp[-78.123, 28.432], which of course I could do with Python > as it is. > > But in some instance, there is more than one way to interpolate, so it > would be great to have: > > sea_surface_temp[-78.123, 28.432, interp='linear'] > I presume you would only use this to get the temperature and not to set or delete measurements. Is that correct? > > and that would require having mixed positional and keyword index > parameters. > > -CHB > > On Sun, Sep 27, 2020 at 6:48 PM Stephan Hoyer <sho...@gmail.com> wrote: > >> On Sat, Sep 26, 2020 at 8:40 PM Steven D'Aprano <st...@pearwood.info> >> wrote: >> >>> On Sat, Sep 26, 2020 at 01:47:56PM -0300, Sebastian Kreft wrote: >>> >>> > In this fashion have you considering having keyword only indices, that >>> is >>> > to only allow either obj[1, 2] or obj[row=1, col=2] (if the class >>> supports >>> > it), and disallow mixing positional and keyword indices, meaning obj[1, >>> > col=2] would be a SyntaxError. >>> >>> That would severely reduce the usefulness of this feature for me, >>> probably by 80 or 90%, and possibly make it useless for xarray and >>> pandas. >>> >>> (I don't speak for the pandas or xarray devs, I'm happy to be >>> corrected.) >> >> >> From my perspective as a developer for both xarray and pandas, both >> "mixed" and "keyword only" indexing have use cases, but I would guess >> keyword only indexing is more important. >> >> In xarray, we currently have methods that awkwardly approximate keyword >> only indexing (e.g., xarray.DataArray.sel() and xarray.DataArray.isel() >> both allow for named dimensions with **kwargs), but nothing for the "mixed" >> case (neither method supports positional *args). >> _______________________________________________ >> Python-ideas mailing list -- python-ideas@python.org >> To unsubscribe send an email to python-ideas-le...@python.org >> https://mail.python.org/mailman3/lists/python-ideas.python.org/ >> Message archived at >> https://mail.python.org/archives/list/python-ideas@python.org/message/IPEP5YXUQKCNCARJH4NKF7I757M7XLCA/ >> Code of Conduct: http://python.org/psf/codeofconduct/ >> > > > -- > Christopher Barker, PhD > > Python Language Consulting > - Teaching > - Scientific Software Development > - Desktop GUI and Web Development > - wxPython, numpy, scipy, Cython > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/UBQS7YPOS3KD4PBPTWOBTKXOS6QSEAM7/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- Sebastian Kreft
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/IB5P32UZVK2CIHBYLFPM33LAHIYJOSV6/ Code of Conduct: http://python.org/psf/codeofconduct/