xarray.DataArray.resample¶
-
DataArray.
resample
(indexer: Optional[Mapping[Hashable, str]] = None, skipna=None, closed: Optional[str] = None, label: Optional[str] = None, base: int = 0, keep_attrs: Optional[bool] = None, loffset=None, restore_coord_dims: Optional[bool] = None, **indexer_kwargs)¶ Returns a Resample object for performing resampling operations.
Handles both downsampling and upsampling. If any intervals contain no values from the original object, they will be given the value
NaN
.- Parameters
- indexer{dim: freq}, optional
Mapping from the dimension name to resample frequency.
- skipnabool, optional
Whether to skip missing values when aggregating in downsampling.
- closed‘left’ or ‘right’, optional
Side of each interval to treat as closed.
- label‘left or ‘right’, optional
Side of each interval to use for labeling.
- baseint, optional
For frequencies that evenly subdivide 1 day, the “origin” of the aggregated intervals. For example, for ‘24H’ frequency, base could range from 0 through 23.
- loffsettimedelta or str, optional
Offset used to adjust the resampled time labels. Some pandas date offset strings are supported.
- keep_attrsbool, optional
If True, the object’s attributes (attrs) will be copied from the original object to the new one. If False (default), the new object will be returned without attributes.
- restore_coord_dimsbool, optional
If True, also restore the dimension order of multi-dimensional coordinates.
- **indexer_kwargs{dim: freq}
The keyword arguments form of
indexer
. One of indexer or indexer_kwargs must be provided.
- Returns
- resampledsame type as caller
This object resampled.
References
Examples
Downsample monthly time-series data to seasonal data:
>>> da = xr.DataArray(np.linspace(0, 11, num=12), ... coords=[pd.date_range('15/12/1999', ... periods=12, freq=pd.DateOffset(months=1))], ... dims='time') >>> da <xarray.DataArray (time: 12)> array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.]) Coordinates: * time (time) datetime64[ns] 1999-12-15 2000-01-15 2000-02-15 ... >>> da.resample(time="QS-DEC").mean() <xarray.DataArray (time: 4)> array([ 1., 4., 7., 10.]) Coordinates: * time (time) datetime64[ns] 1999-12-01 2000-03-01 2000-06-01 2000-09-01
Upsample monthly time-series data to daily data:
>>> da.resample(time='1D').interpolate('linear') <xarray.DataArray (time: 337)> array([ 0. , 0.032258, 0.064516, ..., 10.935484, 10.967742, 11. ]) Coordinates: * time (time) datetime64[ns] 1999-12-15 1999-12-16 1999-12-17 ...
Limit scope of upsampling method >>> da.resample(time=‘1D’).nearest(tolerance=‘1D’) <xarray.DataArray (time: 337)> array([ 0., 0., nan, …, nan, 11., 11.]) Coordinates:
time (time) datetime64[ns] 1999-12-15 1999-12-16 … 2000-11-15