id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 1188406993,I_kwDOAMm_X85G1abR,6430,Bug in broadcasting with multi-indexes,2448579,closed,0,,,1,2022-03-31T17:25:57Z,2022-04-13T14:49:23Z,2022-04-13T14:49:23Z,MEMBER,,,,"### What happened? ``` python import numpy as np import xarray as xr ds = xr.Dataset( {""foo"": ((""x"", ""y"", ""z""), np.ones((3, 4, 2)))}, {""x"": [""a"", ""b"", ""c""], ""y"": [1, 2, 3, 4]}, ) expected = ds.sum(""z"") stacked = ds.stack(space=[""x"", ""y""]) broadcasted, _ = xr.broadcast(stacked, stacked.space) stacked.sum(""z"").unstack(""space"") # works broadcasted.sum(""z"").unstack(""space"") # error ``` ``` --------------------------------------------------------------------------- ValueError Traceback (most recent call last) Input In [13], in 10 broadcasted, _ = xr.broadcast(stacked, stacked.space) 11 stacked.sum(""z"").unstack(""space"") ---> 12 broadcasted.sum(""z"").unstack(""space"") File ~/work/python/xarray/xarray/core/dataset.py:4332, in Dataset.unstack(self, dim, fill_value, sparse) 4330 non_multi_dims = set(dims) - set(stacked_indexes) 4331 if non_multi_dims: -> 4332 raise ValueError( 4333 ""cannot unstack dimensions that do not "" 4334 f""have exactly one multi-index: {tuple(non_multi_dims)}"" 4335 ) 4337 result = self.copy(deep=False) 4339 # we want to avoid allocating an object-dtype ndarray for a MultiIndex, 4340 # so we can't just access self.variables[v].data for every variable. 4341 # We only check the non-index variables. 4342 # https://github.com/pydata/xarray/issues/5902 ValueError: cannot unstack dimensions that do not have exactly one multi-index: ('space',) ``` ### What did you expect to happen? This should work. ### Minimal Complete Verifiable Example _No response_ ### Relevant log output _No response_ ### Anything else we need to know? _No response_ ### Environment xarray main after the flexible indexes refactor","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6430/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue