xarray.core.groupby.DatasetGroupBy.count
xarray.core.groupby.DatasetGroupBy.count#
- DatasetGroupBy.count(dim=None, *, keep_attrs=None, **kwargs)[source]#
Reduce this Dataset’s data by applying
count
along some dimension(s).- Parameters
dim (hashable or iterable of hashable, default:
None
) – Name of dimension[s] along which to applycount
. For e.g.dim="x"
ordim=["x", "y"]
. If None, will reduce over all dimensions.keep_attrs (
bool
orNone
, 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 calculatingcount
on this object’s data. These could include dask-specific kwargs likesplit_every
.
- Returns
reduced (
Dataset
) – New Dataset withcount
applied to its data and the indicated dimension(s) removed
See also
numpy.count
,dask.array.count
,Dataset.count
- GroupBy: split-apply-combine
User guide on groupby operations.
Examples
>>> da = xr.DataArray( ... np.array([1, 2, 3, 1, 2, np.nan]), ... dims="time", ... coords=dict( ... time=("time", pd.date_range("01-01-2001", freq="M", periods=6)), ... labels=("time", np.array(["a", "b", "c", "c", "b", "a"])), ... ), ... ) >>> ds = xr.Dataset(dict(da=da)) >>> ds <xarray.Dataset> Dimensions: (time: 6) Coordinates: * time (time) datetime64[ns] 2001-01-31 2001-02-28 ... 2001-06-30 labels (time) <U1 'a' 'b' 'c' 'c' 'b' 'a' Data variables: da (time) float64 1.0 2.0 3.0 1.0 2.0 nan
>>> ds.groupby("labels").count() <xarray.Dataset> Dimensions: (labels: 3) Coordinates: * labels (labels) object 'a' 'b' 'c' Data variables: da (labels) int64 1 2 2