xarray.DataArray.coarsen¶
-
DataArray.
coarsen
(dim=None, boundary='exact', side='left', coord_func='mean', **dim_kwargs)¶ Coarsen object.
Parameters: - dim: dict, optional
Mapping from the dimension name to the window size. dim : str
Name of the dimension to create the rolling iterator along (e.g., time).
- window : int
Size of the moving window.
- boundary : ‘exact’ | ‘trim’ | ‘pad’
If ‘exact’, a ValueError will be raised if dimension size is not a multiple of the window size. If ‘trim’, the excess entries are dropped. If ‘pad’, NA will be padded.
- side : ‘left’ or ‘right’ or mapping from dimension to ‘left’ or ‘right’
- coord_func: function (name) that is applied to the coordintes,
or a mapping from coordinate name to function (name).
Returns: - Coarsen object (core.rolling.DataArrayCoarsen for DataArray,
- core.rolling.DatasetCoarsen for Dataset.)
See also
core.rolling.DataArrayCoarsen
,core.rolling.DatasetCoarsen
Examples
Coarsen the long time series by averaging over every four days.
>>> da = xr.DataArray(np.linspace(0, 364, num=364), ... dims='time', ... coords={'time': pd.date_range( ... '15/12/1999', periods=364)}) >>> da <xarray.DataArray (time: 364)> array([ 0. , 1.002755, 2.00551 , ..., 361.99449 , 362.997245, 364. ]) Coordinates: * time (time) datetime64[ns] 1999-12-15 1999-12-16 ... 2000-12-12 >>> >>> da.coarsen(time=3, boundary='trim').mean() <xarray.DataArray (time: 121)> array([ 1.002755, 4.011019, 7.019284, ..., 358.986226, 361.99449 ]) Coordinates: * time (time) datetime64[ns] 1999-12-16 1999-12-19 ... 2000-12-10 >>>