xarray.core.groupby.DatasetGroupBy.all#
- DatasetGroupBy.all(dim=None, *, keep_attrs=None, **kwargs)[source]#
Reduce this Dataset’s data by applying
all
along some dimension(s).- Parameters
dim (
str
,Iterable
ofHashable
,"..."
orNone
, default:None
) – Name of dimension[s] along which to applyall
. For e.g.dim="x"
ordim=["x", "y"]
. If None, will reduce over the GroupBy dimensions. If “…”, 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 calculatingall
on this object’s data. These could include dask-specific kwargs likesplit_every
.
- Returns
reduced (
Dataset
) – New Dataset withall
applied to its data and the indicated dimension(s) removed
See also
numpy.all
,dask.array.all
,Dataset.all
- GroupBy: Group and Bin Data
User guide on groupby operations.
Notes
Use the
flox
package to significantly speed up groupby computations, especially with dask arrays. Xarray will use flox by default if installed. Pass flox-specific keyword arguments in**kwargs
. See the flox documentation for more.Examples
>>> da = xr.DataArray( ... np.array([True, True, True, True, True, False], dtype=bool), ... 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: 78B Dimensions: (time: 6) Coordinates: * time (time) datetime64[ns] 48B 2001-01-31 2001-02-28 ... 2001-06-30 labels (time) <U1 24B 'a' 'b' 'c' 'c' 'b' 'a' Data variables: da (time) bool 6B True True True True True False
>>> ds.groupby("labels").all() <xarray.Dataset> Size: 27B Dimensions: (labels: 3) Coordinates: * labels (labels) object 24B 'a' 'b' 'c' Data variables: da (labels) bool 3B False True True