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/934#issuecomment-457893587,https://api.github.com/repos/pydata/xarray/issues/934,457893587,MDEyOklzc3VlQ29tbWVudDQ1Nzg5MzU4Nw==,1217238,2019-01-27T06:49:52Z,2019-01-27T06:49:52Z,MEMBER,This will be part of the explicit indexes refactor (https://github.com/pydata/xarray/issues/1603),"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,168901028 https://github.com/pydata/xarray/issues/934#issuecomment-236984774,https://api.github.com/repos/pydata/xarray/issues/934,236984774,MDEyOklzc3VlQ29tbWVudDIzNjk4NDc3NA==,5635139,2016-08-02T17:48:39Z,2016-08-02T17:48:39Z,MEMBER,"That's very clear @shoyer. I know you've discussed in the past whether indexes are really that different from arrays (they are treated very different in pandas, for example). To reiterate the above, the only real difference is one is designed for lookups (and so uses a hash table), and the other is designed for data access (and so mutation is easier). We try to never use mutation, but our data is not that big, so making a copy is generally OK. But that's probably not the main use case. Another option (potentially 1b in your list) is to slice the array rather than select from an index - i.e. sugar over @fmaussion 's solution above. Not as fast to do multiple times, but simple and probably as fast to do a single time. Or to add that to the docs. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,168901028 https://github.com/pydata/xarray/issues/934#issuecomment-236960237,https://api.github.com/repos/pydata/xarray/issues/934,236960237,MDEyOklzc3VlQ29tbWVudDIzNjk2MDIzNw==,1217238,2016-08-02T16:27:16Z,2016-08-02T16:27:16Z,MEMBER,"Yes, this would be nice to support automatically. Doing indexing requiring constructing a hash table (in the form of a `pandas.Index`), which we currently cache on `xarray.Coordinate` variables. `Coordinate` is a `Variable` subclass used only for dimension coordinates (maybe we should rename it `DimCoordinate` or `Coordinate1D`). The only material difference between `Coordinate` and `Variable` is that coordinate caches values in the form of a `pandas.Index`, whereas `Variable` caches values in the form of a numpy array. This means that `Coordinate` is currently immutable (because Index is immutable) and some subtle distinctions in terms of how different types of data are stored due to Index vs ndarray differences (basically, keeping things as an index is more efficient for handling native pandas types like Period, but a little less efficient if you don't need indexing). So there are a few approaches we could take here: 1. Convert 1D coordinates that are not dimensions into a `pandas.Index` via `.to_index()` when indexing happens with `.sel`. This approach would be non-ideal, because we would need to recreate the hash table every time indexing happens. 2. Switch all 1D coordinates (even non-dimensions) to use the `Coordinate` class. This would be the preferred approach, except it would be a breaking change because it would make them immutable. 3. Cache the result of `.to_index()` on `Variable` objects, too, and invalidate it when they are changed with `__setitem__`. The downside is that it makes `Variable` a little more complex. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,168901028 https://github.com/pydata/xarray/issues/934#issuecomment-236925610,https://api.github.com/repos/pydata/xarray/issues/934,236925610,MDEyOklzc3VlQ29tbWVudDIzNjkyNTYxMA==,10050469,2016-08-02T14:40:56Z,2016-08-02T14:40:56Z,MEMBER,"In your case: ``` python arr.isel(space=(arr.space2=='A')) ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,168901028 https://github.com/pydata/xarray/issues/934#issuecomment-236925040,https://api.github.com/repos/pydata/xarray/issues/934,236925040,MDEyOklzc3VlQ29tbWVudDIzNjkyNTA0MA==,10050469,2016-08-02T14:39:15Z,2016-08-02T14:39:15Z,MEMBER,"I tried to awake interest for this kind of indexing on the mailinglist without success so far: https://groups.google.com/forum/#!topic/xarray/KTlG2snZabg ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,168901028