# xarray.DataArray.resample

#### DataArray.resample(indexer=None, , skipna=None, closed=None, label=None, offset=None, origin='start_day', restore_coord_dims=None, \*\*indexer_kwargs)[[source]](https://github.com/pydata/xarray/blob/v2026.09.0/xarray/core/dataarray.py#L7626-L7777)

Returns a Resample object for performing resampling operations.

Handles both downsampling and upsampling. The resampled
dimension must be a datetime-like coordinate. If any intervals
contain no values from the original object, they will be given
the value `NaN`.

* **Parameters:**
  * **indexer** (`Mapping` of `Hashable` to [`str`](xarray.DataArray.str.html.md#xarray.DataArray.str), [`datetime.timedelta`](https://docs.python.org/3/library/datetime.html#datetime.timedelta), `pd.Timedelta`, `pd.DateOffset`, or [`Resampler`](xarray.groupers.Resampler.html.md#xarray.groupers.Resampler), *optional*) – Mapping from the dimension name to resample frequency <sup>[1](#id2)</sup>. The
    dimension must be datetime-like.
  * **skipna** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool), *optional*) – Whether to skip missing values when aggregating in downsampling.
  * **closed** (`{"left", "right"}`, *optional*) – Side of each interval to treat as closed.
  * **label** (`{"left", "right"}`, *optional*) – Side of each interval to use for labeling.
  * **origin** (`{'epoch', 'start', 'start_day', 'end', 'end_day'}`, `pd.Timestamp`, [`datetime.datetime`](https://docs.python.org/3/library/datetime.html#datetime.datetime), `np.datetime64`, or [`cftime.datetime`](https://unidata.github.io/cftime/api.html#cftime.datetime), *default* `'start_day'`) – The datetime on which to adjust the grouping. The timezone of origin
    must match the timezone of the index.

    If a datetime is not used, these values are also supported:
    - ‘epoch’: origin is 1970-01-01
    - ‘start’: origin is the first value of the timeseries
    - ‘start_day’: origin is the first day at midnight of the timeseries
    - ‘end’: origin is the last value of the timeseries
    - ‘end_day’: origin is the ceiling midnight of the last day
  * **offset** (`pd.Timedelta`, [`datetime.timedelta`](https://docs.python.org/3/library/datetime.html#datetime.timedelta), or [`str`](xarray.DataArray.str.html.md#xarray.DataArray.str), *default* `is None`) – An offset timedelta added to the origin.
  * **restore_coord_dims** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool), *optional*) – If True, also restore the dimension order of multi-dimensional
    coordinates.
  * **\*\*indexer_kwargs** ([`str`](xarray.DataArray.str.html.md#xarray.DataArray.str), [`datetime.timedelta`](https://docs.python.org/3/library/datetime.html#datetime.timedelta), `pd.Timedelta`, `pd.DateOffset`, or [`Resampler`](xarray.groupers.Resampler.html.md#xarray.groupers.Resampler)) – The keyword arguments form of `indexer`.
    One of indexer or indexer_kwargs must be provided.
* **Returns:**
  **resampled** ([`core.resample.DataArrayResample`](xarray.core.resample.DataArrayResample.html.md#xarray.core.resample.DataArrayResample)) – This object resampled.

### Examples

<div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesShowIframe('e0b10af7-906f-4552-bf63-7f24e75d3168','25f5c9a9-fd6c-4885-a497-fa5c042aaf62','eb7684f1-ef50-4e2c-baef-3d274d72ec9b','../lite/tree/../notebooks/index.html?path=86b15877_1612_4433_84dd_353b048dad81.ipynb','None')">Try it in your browser!</button></div>

Downsample monthly time-series data to seasonal data:

```pycon
>>> da = xr.DataArray(
...     np.linspace(0, 11, num=12),
...     coords=[
...         pd.date_range(
...             "1999-12-15",
...             periods=12,
...             freq=pd.DateOffset(months=1),
...         )
...     ],
...     dims="time",
... )
>>> da
<xarray.DataArray (time: 12)> Size: 96B
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.])
Coordinates:
  * time     (time) datetime64[us] 96B 1999-12-15 2000-01-15 ... 2000-11-15
>>> da.resample(time="QS-DEC").mean()
<xarray.DataArray (time: 4)> Size: 32B
array([ 1.,  4.,  7., 10.])
Coordinates:
  * time     (time) datetime64[us] 32B 1999-12-01 2000-03-01 ... 2000-09-01
```

Upsample monthly time-series data to daily data:

```pycon
>>> da.resample(time="1D").interpolate("linear")  # +doctest: ELLIPSIS
<xarray.DataArray (time: 337)> Size: 3kB
array([ 0.        ,  0.03225806,  0.06451613,  0.09677419,  0.12903226,
        0.16129032,  0.19354839,  0.22580645,  0.25806452,  0.29032258,
        0.32258065,  0.35483871,  0.38709677,  0.41935484,  0.4516129 ,
        0.48387097,  0.51612903,  0.5483871 ,  0.58064516,  0.61290323,
        0.64516129,  0.67741935,  0.70967742,  0.74193548,  0.77419355,
        0.80645161,  0.83870968,  0.87096774,  0.90322581,  0.93548387,
        0.96774194,  1.        ,  ...,
        9.        ,  9.03333333,  9.06666667,  9.1       ,  9.13333333,
        9.16666667,  9.2       ,  9.23333333,  9.26666667,  9.3       ,
        9.33333333,  9.36666667,  9.4       ,  9.43333333,  9.46666667,
        9.5       ,  9.53333333,  9.56666667,  9.6       ,  9.63333333,
        9.66666667,  9.7       ,  9.73333333,  9.76666667,  9.8       ,
        9.83333333,  9.86666667,  9.9       ,  9.93333333,  9.96666667,
       10.        , 10.03225806, 10.06451613, 10.09677419, 10.12903226,
       10.16129032, 10.19354839, 10.22580645, 10.25806452, 10.29032258,
       10.32258065, 10.35483871, 10.38709677, 10.41935484, 10.4516129 ,
       10.48387097, 10.51612903, 10.5483871 , 10.58064516, 10.61290323,
       10.64516129, 10.67741935, 10.70967742, 10.74193548, 10.77419355,
       10.80645161, 10.83870968, 10.87096774, 10.90322581, 10.93548387,
       10.96774194, 11.        ])
Coordinates:
  * time     (time) datetime64[us] 3kB 1999-12-15 1999-12-16 ... 2000-11-15
```

Limit scope of upsampling method

```pycon
>>> da.resample(time="1D").nearest(tolerance="1D")
<xarray.DataArray (time: 337)> Size: 3kB
array([ 0.,  0., nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan,  1.,  1.,  1., nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan,  2.,  2.,  2., nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,  3.,
        3.,  3., nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan,  4.,  4.,  4., nan, nan, nan, nan, nan, ...,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, 10., 10., 10., nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 11., 11.])
Coordinates:
  * time     (time) datetime64[us] 3kB 1999-12-15 1999-12-16 ... 2000-11-15
```

<div id="eb7684f1-ef50-4e2c-baef-3d274d72ec9b" class="try_examples_outer_iframe  hidden"><div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesHideIframe('e0b10af7-906f-4552-bf63-7f24e75d3168','eb7684f1-ef50-4e2c-baef-3d274d72ec9b')">Go Back</button><button class="try_examples_button" onclick="window.openInNewTab('e0b10af7-906f-4552-bf63-7f24e75d3168','eb7684f1-ef50-4e2c-baef-3d274d72ec9b')">Open In Tab</button></div><div id="25f5c9a9-fd6c-4885-a497-fa5c042aaf62" class="jupyterlite_sphinx_iframe_container"></div></div><script>document.addEventListener("DOMContentLoaded", function() {window.loadTryExamplesConfig("../try_examples.json");});</script>

#### SEE ALSO
[`Dataset.resample`](xarray.Dataset.resample.html.md#xarray.Dataset.resample), [`pandas.Series.resample`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.resample.html#pandas.Series.resample), [`pandas.DataFrame.resample`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html#pandas.DataFrame.resample)

### References

* <a id='id2'>**[1]**</a> [https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases)
