html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/3768#issuecomment-586078165,https://api.github.com/repos/pydata/xarray/issues/3768,586078165,MDEyOklzc3VlQ29tbWVudDU4NjA3ODE2NQ==,8238804,2020-02-14T03:15:47Z,2020-02-14T03:15:47Z,NONE,"> Why do DataArrays have different behavior than other array-likes for these methods? For `sel` and `isel`. What the reasoning for making these statements behave differently?
Setup ```python import xarray as xr import numpy as np da = xr.DataArray( np.arange(56).reshape((7, 8)), coords={ 'x': list('abcdefg'), 'y': 10 * np.arange(8) }, dims=['x', 'y'] ) ```
```python xidx = np.array([1, 2, 3]) yidx = np.array([1, 2, 3]) da.isel(x=xidx, y=yidx) # # array([[ 9, 10, 11], # [17, 18, 19], # [25, 26, 27]]) # Coordinates: # * x (x) # array([ 9, 18, 27]) # Coordinates: # x (dim_0) The documentation for what you want is here: https://xarray.pydata.org/en/stable/indexing.html#more-advanced-indexing. Basically you need to provide DataArrays with a new dimension instead of lists. Thanks! I must have missed this, I suspect since my use was actually setting the values at some coordinates. Is there an efficient way to do that? I'd be happy to add some notes to the documentation about that. The `.sel` and `isel` methods could definitely use longer doc strings. It would be useful to have a better understanding of the concept this implements though. Why do DataArrays have different behavior than other array-likes for these methods?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,564555854 https://github.com/pydata/xarray/issues/3731#issuecomment-580999532,https://api.github.com/repos/pydata/xarray/issues/3731,580999532,MDEyOklzc3VlQ29tbWVudDU4MDk5OTUzMg==,8238804,2020-02-01T06:22:37Z,2020-02-01T06:22:37Z,NONE,"This has also come up over in [DimensionalData.jl](https://github.com/rafaqz/DimensionalData.jl/issues/46), which I think is going for behavior I like. What I think would happen: > da.isel(dim='ambiguous_dim') The selection is over all dimensions of that name. > `da.mean(dim='ambiguous_dim')` The command is to reduce over dimensions of that name, the reduction should be performed over all dimensions with that name.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,557257598 https://github.com/pydata/xarray/issues/3731#issuecomment-580534808,https://api.github.com/repos/pydata/xarray/issues/3731,580534808,MDEyOklzc3VlQ29tbWVudDU4MDUzNDgwOA==,8238804,2020-01-31T01:07:28Z,2020-01-31T01:07:52Z,NONE,"Why not allow multiple dimensions with the same name? They can be disambiguated with positional indexing for when it matters. I think support for this would be useful for pairwise measures. Here's a fun example/ current buggy behaviour: ```python import numpy as np import xarray as xr from string import ascii_letters idx1 = xr.IndexVariable(""dim1"", [f""dim1-{i}"" for i in ascii_letters[:10]]) idx2 = xr.IndexVariable(""dim2"", [f""dim2-{i}"" for i in ascii_letters[:5]]) da1 = xr.DataArray(np.random.random_sample((10, 5)), coords=(idx1, idx2)) da2 = xr.DataArray(np.random.random_sample((5, 10)), coords=(idx2, idx1)) da1 @ da2 # # array(13.06261098) ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,557257598 https://github.com/pydata/xarray/issues/3213#issuecomment-521596825,https://api.github.com/repos/pydata/xarray/issues/3213,521596825,MDEyOklzc3VlQ29tbWVudDUyMTU5NjgyNQ==,8238804,2019-08-15T10:34:30Z,2019-08-15T10:34:30Z,NONE,That's fair. I just think it would be useful to have an assurance that indices are sorted you read them. I don't see how to express this within the CF specs while still looking like a COO array though.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,479942077 https://github.com/pydata/xarray/issues/3213#issuecomment-521530770,https://api.github.com/repos/pydata/xarray/issues/3213,521530770,MDEyOklzc3VlQ29tbWVudDUyMTUzMDc3MA==,8238804,2019-08-15T06:28:24Z,2019-08-15T07:33:04Z,NONE,"Would it be feasible to use the [contiguous ragged array spec](http://cfconventions.org/cf-conventions/cf-conventions.html#_contiguous_ragged_array_representation) or the [gathering based compression](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#compression-by-gathering) when the COO coordinates are sorted? I think this could be very helpful for read efficiency, though I'm not sure if random writes were a requirement here.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,479942077