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/5202#issuecomment-935683056,https://api.github.com/repos/pydata/xarray/issues/5202,935683056,IC_kwDOAMm_X843xWPw,4160723,2021-10-06T07:50:59Z,2021-10-06T07:50:59Z,MEMBER,"From https://github.com/pydata/xarray/pull/5692#issuecomment-925718593:
> One change is that a multi-index is not always created with stack. It is created only if each of the dimensions to stack together have one and only one coordinate with a pandas index (this could be a non-dimension coordinate).
> This could maybe address #5202, since we could simply drop the indexes before stacking the dimensions in order to avoid the creation of a multi-index. I don't think it's a big breaking change either unless there are users who rely on default multi-indexes with range (0, 1, 2...) levels. Looking at #5202, however, those default multi-indexes seem more problematic than something really useful, but I might be wrong here. Also, range-based indexes can still be created explicitly before stacking the dimensions if needed.
> Another consequence is that stack is not always reversible, since unstack still requires a pandas multi-index (one and only one multi-index per dimension to unstack).
cc @pydata/xarray as this is an improvement regarding this issue but also a sensible change. To ensure a smoother transition we could maybe add a `create_index` option to `stack` which accepts these values:
- `True`: always create a multi-index
- `False`: never create a multi-index
- `None`: create a multi-index only if we can unambiguously pick one index for each of the dimensions to stack
We can default to `True` now to avoid breaking changes and maybe later default to `None`. If we eventually add support for custom (non-pandas backed) indexes, we could also allow passing an `xarray.Index` class.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,864249974
https://github.com/pydata/xarray/issues/5202#issuecomment-856296662,https://api.github.com/repos/pydata/xarray/issues/5202,856296662,MDEyOklzc3VlQ29tbWVudDg1NjI5NjY2Mg==,4160723,2021-06-07T22:10:15Z,2021-06-07T22:10:15Z,MEMBER,"> it seems like it could be a good idea to allow stack to skip creating a MultiIndex for the new dimension, via a new keyword argument such as `ds.stack(index=False)`
`Dataset.stack` might eventually accept any custom index (that supports it) if that makes sense. Would `index=None` be slightly better than `index=False` in that case? (considering that the default value would be `index=PandasMultiIndex` or something like that).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,864249974