# xarray.core.resample.DatasetResample.count

#### DatasetResample.count(dim=None, , keep_attrs=None, \*\*kwargs)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/_aggregations.py#L5306-L5401)

Reduce this Dataset’s data by applying `count` along some dimension(s).

* **Parameters:**
  * **dim** ([`str`](https://docs.python.org/3/builtins/stdtypes.html#str), `Iterable` of `Hashable`, `"..."` or [`None`](https://docs.python.org/3/builtins/constants.html#None), *default*: [`None`](https://docs.python.org/3/builtins/constants.html#None)) – Name of dimension[s] along which to apply `count`. For e.g. `dim="x"`
    or `dim=["x", "y"]`. If None, will reduce over the Resample dimensions.
    If “…”, will reduce over all dimensions.
  * **keep_attrs** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool) or [`None`](https://docs.python.org/3/builtins/constants.html#None), *optional*) – If True, `attrs` will be copied from the original
    object to the new one.  If False, the new object will be
    returned without attributes.
  * **\*\*kwargs** (`Any`) – Additional keyword arguments passed on to the appropriate array
    function for calculating `count` on this object’s data.
    These could include dask-specific kwargs like `split_every`.
* **Returns:**
  **reduced** ([`Dataset`](xarray.Dataset.html.md#xarray.Dataset)) – New Dataset with `count` applied to its data and the
  indicated dimension(s) removed

#### SEE ALSO
[`pandas.DataFrame.count`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.count.html#pandas.DataFrame.count), [`dask.dataframe.DataFrame.count`](https://docs.dask.org/en/latest/generated/dask.dataframe.DataFrame.count.html#dask.dataframe.DataFrame.count), `Dataset.count`

[Resampling and grouped operations](../user-guide/time-series.html.md#resampling)
: User guide on resampling operations.

### Notes

Use the `flox` package to significantly speed up resampling computations,
especially with dask arrays. Xarray will use flox by default if installed.
Pass flox-specific keyword arguments in `**kwargs`.
See the [flox documentation](https://flox.readthedocs.io) for more.

### Examples

<div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesShowIframe('cba27768-09a8-491c-81f1-95cbd03c072c','cca407f2-04aa-43aa-91b1-a50653458fd9','3062219c-4fa1-4c50-ae25-eb0d4f6b5785','../lite/tree/../notebooks/index.html?path=22748e9f_10b8_4696_9881_e81951ce5c3f.ipynb','None')">Try it in your browser!</button></div>
```pycon
>>> da = xr.DataArray(
...     np.array([1, 2, 3, 0, 2, np.nan]),
...     dims="time",
...     coords=dict(
...         time=("time", pd.date_range("2001-01-01", freq="ME", periods=6)),
...         labels=("time", np.array(["a", "b", "c", "c", "b", "a"])),
...     ),
... )
>>> ds = xr.Dataset(dict(da=da))
>>> ds
<xarray.Dataset> Size: 120B
Dimensions:  (time: 6)
Coordinates:
  * time     (time) datetime64[us] 48B 2001-01-31 2001-02-28 ... 2001-06-30
    labels   (time) <U1 24B 'a' 'b' 'c' 'c' 'b' 'a'
Data variables:
    da       (time) float64 48B 1.0 2.0 3.0 0.0 2.0 nan
```

```pycon
>>> ds.resample(time="3ME").count()
<xarray.Dataset> Size: 48B
Dimensions:  (time: 3)
Coordinates:
  * time     (time) datetime64[us] 24B 2001-01-31 2001-04-30 2001-07-31
Data variables:
    da       (time) int64 24B 1 3 1
```

<div id="3062219c-4fa1-4c50-ae25-eb0d4f6b5785" class="try_examples_outer_iframe  hidden"><div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesHideIframe('cba27768-09a8-491c-81f1-95cbd03c072c','3062219c-4fa1-4c50-ae25-eb0d4f6b5785')">Go Back</button><button class="try_examples_button" onclick="window.openInNewTab('cba27768-09a8-491c-81f1-95cbd03c072c','3062219c-4fa1-4c50-ae25-eb0d4f6b5785')">Open In Tab</button></div><div id="cca407f2-04aa-43aa-91b1-a50653458fd9" class="jupyterlite_sphinx_iframe_container"></div></div><script>document.addEventListener("DOMContentLoaded", function() {window.loadTryExamplesConfig("../try_examples.json");});</script>
