reduce#

xarray_einstats.einops.reduce(da, reduction, out_dims, in_dims=None, **kwargs)[source]#

Wrap einops.reduce.

Parameters:
daxarray.DataArray

Input DataArray to be reduced

reductionstr or callable

One of available reductions (‘min’, ‘max’, ‘sum’, ‘mean’, ‘prod’) by einops.reduce, case-sensitive. Alternatively, a callable f(tensor, reduced_axes) -> tensor can be provided. reduced_axes are passed as a list of int.

out_dimslist of str, list or dict

The output pattern for the dimensions. The dimensions present in

in_dimslist of str or dict, optional

The input pattern for the dimensions. This is only necessary if you want to split some dimensions.

kwargsdict, optional

kwargs with key equal to dimension names in out_dims (that is, strings or dict keys) are passed to einops.rearrange the rest of keys are passed to xarray.apply_ufunc

See also

xarray_einstats.einops.raw_reduce

Cruder wrapper of einops.rearrange, allowed characters in dimension names are restricted

xarray_einstats.einops.rearrange, xarray_einstats.einops.raw_rearrange

Notes

Unlike for general xarray objects, where dimension names can be hashable here dimension names are not recommended but required to be strings.