Skip to content

Commit a07ce29

Browse files
committed
Swap order of reduce_dims checks in Dataset.reduce()
Prefer to pass reduce_dims=None when possible, including for variables with only one dimension. Avoids an error if an 'axis' keyword was passed.
1 parent 9a54e0c commit a07ce29

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

xarray/core/dataset.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -4295,15 +4295,15 @@ def reduce(
42954295
or np.issubdtype(var.dtype, np.number)
42964296
or (var.dtype == np.bool_)
42974297
):
4298-
if len(reduce_dims) == 1:
4299-
# unpack dimensions for the benefit of functions
4300-
# like np.argmin which can't handle tuple arguments
4301-
(reduce_dims,) = reduce_dims
4302-
elif len(reduce_dims) == var.ndim:
4298+
if len(reduce_dims) == var.ndim:
43034299
# prefer to aggregate over axis=None rather than
43044300
# axis=(0, 1) if they will be equivalent, because
43054301
# the former is often more efficient
43064302
reduce_dims = None # type: ignore
4303+
elif len(reduce_dims) == 1:
4304+
# unpack dimensions for the benefit of functions
4305+
# like np.argmin which can't handle tuple arguments
4306+
(reduce_dims,) = reduce_dims
43074307
variables[name] = var.reduce(
43084308
func,
43094309
dim=reduce_dims,

0 commit comments

Comments
 (0)