Skip to content
forked from pydata/xarray

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
dcherian committed Mar 30, 2022
1 parent aa64c43 commit 299e6c9
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions xarray/core/groupby.py
Original file line number Diff line number Diff line change
Expand Up @@ -343,9 +343,6 @@ def __init__(
self._original_obj = obj
self._original_group = group

# group, obj, stacked_dim, inserted_dims = _ensure_1d(group, obj)
# (group_dim,) = group.dims

for dim in group.dims:
if group.sizes[dim] != obj.sizes[dim]:
raise ValueError(
Expand Down Expand Up @@ -418,7 +415,7 @@ def _initialize_old(self):
)
(group_dim,) = group.dims

if isinstance(self._bins, int):
if self._bins is not None:
binned, bins = pd.cut(group.values, self._bins, retbins=True)
new_dim_name = group.name + "_bins"
group = DataArray(binned, group.coords, name=new_dim_name)
Expand Down Expand Up @@ -558,16 +555,19 @@ def _binary_op(self, other, f, reflexive=False):
if self._bins is None:
obj = self._original_obj
group = self._original_group
dims = group.dims
else:
self._initialize_old()
obj = self._maybe_unstack(self._obj)
group = self._maybe_unstack(self._group)
dims = (self._group_dim,)

dim = self._group_dim
if isinstance(group, _DummyGroup):
group = obj[dim]
group = obj[group.name]
coord = group
else:
coord = self._unique_coord
assert coord is not None
if not isinstance(coord, DataArray):
coord = DataArray(self._unique_coord)
name = group.name
Expand Down Expand Up @@ -610,8 +610,9 @@ def _binary_op(self, other, f, reflexive=False):

if isinstance(result, Dataset) and isinstance(obj, Dataset):
for var in set(result):
if dim not in obj[var].dims:
result[var] = result[var].transpose(dim, ...)
for d in dims:
if d not in obj[var].dims:
result[var] = result[var].transpose(d, ...)
return result

def _maybe_restore_empty_groups(self, combined):
Expand Down

0 comments on commit 299e6c9

Please sign in to comment.