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/

Reply via email to