xarray.core.rolling.DataArrayRolling.reduce#
- DataArrayRolling.reduce(func, keep_attrs=None, **kwargs)[source]#
Reduce the items in this group by applying func along some dimension(s).
- Parameters
func (
callable()
) – Function which can be called in the form func(x, **kwargs) to return the result of collapsing an np.ndarray over an the rolling dimension.keep_attrs (
bool
, default:None
) – If True, the attributes (attrs
) will be copied from the original object to the new one. If False, the new object will be returned without attributes. If None uses the global default.**kwargs (
dict
) – Additional keyword arguments passed on to func.
- Returns
reduced (
DataArray
) – Array with summarized data.
Examples
>>> da = xr.DataArray(np.arange(8).reshape(2, 4), dims=("a", "b")) >>> rolling = da.rolling(b=3) >>> rolling.construct("window_dim") <xarray.DataArray (a: 2, b: 4, window_dim: 3)> Size: 192B array([[[nan, nan, 0.], [nan, 0., 1.], [ 0., 1., 2.], [ 1., 2., 3.]], [[nan, nan, 4.], [nan, 4., 5.], [ 4., 5., 6.], [ 5., 6., 7.]]]) Dimensions without coordinates: a, b, window_dim
>>> rolling.reduce(np.sum) <xarray.DataArray (a: 2, b: 4)> Size: 64B array([[nan, nan, 3., 6.], [nan, nan, 15., 18.]]) Dimensions without coordinates: a, b
>>> rolling = da.rolling(b=3, min_periods=1) >>> rolling.reduce(np.nansum) <xarray.DataArray (a: 2, b: 4)> Size: 64B array([[ 0., 1., 3., 6.], [ 4., 9., 15., 18.]]) Dimensions without coordinates: a, b