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/pull/1412#issuecomment-303984274,https://api.github.com/repos/pydata/xarray/issues/1412,303984274,MDEyOklzc3VlQ29tbWVudDMwMzk4NDI3NA==,6815844,2017-05-25T11:04:55Z,2017-05-25T11:04:55Z,MEMBER,Replaced by a new PR #1426 .,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,229370997 https://github.com/pydata/xarray/pull/1412#issuecomment-302919742,https://api.github.com/repos/pydata/xarray/issues/1412,302919742,MDEyOklzc3VlQ29tbWVudDMwMjkxOTc0Mg==,6815844,2017-05-21T07:13:37Z,2017-05-21T07:13:37Z,MEMBER,"@benbovy Thanks for the valuable comments. Actually I can not fully imagine how the actual implementation looks like currently, but I also think the virtual variable access needs some tricks. This is an essential functionality of the MultiIndex-coordinate, I will try to investigate it. Thanks.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,229370997 https://github.com/pydata/xarray/pull/1412#issuecomment-302693433,https://api.github.com/repos/pydata/xarray/issues/1412,302693433,MDEyOklzc3VlQ29tbWVudDMwMjY5MzQzMw==,6815844,2017-05-19T12:47:28Z,2017-05-19T12:47:28Z,MEMBER,"I also agree. It seems too magical. But I slightly changed my mind. I notice what I really want to have is not particular scalar coordinate in MultiIndex, but 'unified' interface between normal `Vraiable` and `MultiIndex`. The current structure is illustrated as follows, ![current_coord](https://cloud.githubusercontent.com/assets/6815844/26248226/5eb1a958-3cdc-11e7-920a-aead58be2b49.png) The `MultiIndex` has different characteristics from normal `Variable`. For example, if we do `ds.sel(x=2)`, it makes a scalar coordinate and normal Variable. The backward process might be `.expand_dims().stack()`. This is different from normal `Variable` behavior. And because of it, MultiIndex should be treated in special way in every place. (Deprecating the automatic-renaming does not change things so much.) I am wondering if we could have the following class structure things become simpler ![my_proposal](https://cloud.githubusercontent.com/assets/6815844/26248233/64ece2ce-3cdc-11e7-8897-893cfb5f359b.png) In this picture, MultiIndex can have `scalar` as its level and `.isel()` produces it. This process can be traced backward by `.expand_dims()` or `.concat()` as in normal `Variable`. I understand it is different from `pandas.MultiIndex` structure, and we need to expand our wrapper extensively if we decide to realize it (as written in red). But I feel this symmetric structure could make it easy to expand `MultiIndex` functionalities in future. Any thoughts are welcome. (Should move discussion to another issue?)","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,229370997 https://github.com/pydata/xarray/pull/1412#issuecomment-302299557,https://api.github.com/repos/pydata/xarray/issues/1412,302299557,MDEyOklzc3VlQ29tbWVudDMwMjI5OTU1Nw==,6815844,2017-05-18T04:48:29Z,2017-05-18T04:48:29Z,MEMBER,"@shoyer Thanks for the comment. > It breaks an important invariant, which is that indexing a Variable returns another Variable. I totally agree with you. In the last commit, I moved the unpacking functionality into `Dataset`, and restored the modification in `Variable` class I made. I think the current is cleaner than my previous one, but I'm not yet comfortable with it. There are a lot of functions or `if`-statements related to `MultiIndex` in different places. I guess they should be bundled in one place. Adding functions is easy but simplifying them are difficult... If anyone show a direction, I will try the improvement.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,229370997