xarray.Dataset.coarsen

Dataset.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
>>>