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/7297#issuecomment-1324753837,https://api.github.com/repos/pydata/xarray/issues/7297,1324753837,IC_kwDOAMm_X85O9iOt,4160723,2022-11-23T09:17:33Z,2022-11-23T09:17:33Z,MEMBER,"> But does this still work properly with broadcasting? For example, let's say there is another data variable b (midx) and an operation is done like ds_stacked['c'] = ds_stacked.a + ds_stacked.b. Then it should be that c (midx) and a (x) should be ""repeated"" to midx.x
I think it would keep things much simpler if we consider ""x"" and ""midx"" as two separate dimensions in the stacked Dataset, i.e., ds_stacked['c'] would result in a 2-d array (x, midx). There's no such thing like a ""midx.x"" dimension in Xarray.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1454832041
https://github.com/pydata/xarray/issues/7297#issuecomment-1323849354,https://api.github.com/repos/pydata/xarray/issues/7297,1323849354,IC_kwDOAMm_X85O6FaK,4160723,2022-11-22T15:24:53Z,2022-11-22T15:36:46Z,MEMBER,"The last example in your comment is probably the most meaningful one:
```
#
# Dimensions: (x: 2, midx: 4)
# Coordinates:
# * midx (midx) object MultiIndex
# * x (midx) int32 1 1 2 2
# * y (midx) int32 3 4 3 4
# Data variables:
# a (x) int32 6 7
```
To avoid name conflicts, we could just discard the original dimension coordinates x and y. Like here above, ""x"" becomes a dimension without coordinate. In that example, when unstacking we would retrieve the ""x"" dimension coordinate like in the original dataset.
(note: I think it is now possible to have a dimension ""x"" and a coordinate ""x"" with different dimensions, but I haven't checked).
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1454832041
https://github.com/pydata/xarray/issues/7297#issuecomment-1323478134,https://api.github.com/repos/pydata/xarray/issues/7297,1323478134,IC_kwDOAMm_X85O4qx2,4160723,2022-11-22T10:50:01Z,2022-11-22T10:50:01Z,MEMBER,"Interesting! I don't think that when adding stack / unstack we were thinking that variables with only a subset of the stacked dimensions would be a common use case.
I guess it would be possible to add some option to stack only the variables that have all the dimensions to be stacked, and leave the other variables unchanged? However, one problem with keeping the original dimension coordinates is that we would have name conflicts between the single index coordinates and the multi-index coordinates.
In your expected example, the ""x"" coordinate is part of the multi-index but it doesn't have the same dimension ""midx""? I find it rather confusing.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1454832041