xarray.Dataset.mean (original) (raw)
Dataset.mean(dim=None, *, skipna=None, keep_attrs=None, **kwargs)[source]#
Reduce this Dataset’s data by applying mean
along some dimension(s).
Parameters:
- dim (str,
Iterable
ofHashable
,"..."
or None, default: None) – Name of dimension[s] along which to applymean
. For e.g.dim="x"
ordim=["x", "y"]
. If “…” or None, will reduce over all dimensions. - skipna (bool or None, optional) – If True, skip missing values (as marked by NaN). By default, only skips missing values for float dtypes; other dtypes either do not have a sentinel missing value (int) or
skipna=True
has not been implemented (object, datetime64 or timedelta64). - keep_attrs (bool or 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 calculatingmean
on this object’s data. These could include dask-specific kwargs likesplit_every
.
Returns:
reduced (Dataset) – New Dataset with mean
applied to its data and the indicated dimension(s) removed
Notes
Non-numeric variables will be removed prior to reducing.
Examples
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[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) float64 48B 1.0 2.0 3.0 0.0 2.0 nan
ds.mean() <xarray.Dataset> Size: 8B Dimensions: () Data variables: da float64 8B 1.6
Use skipna
to control whether NaNs are ignored.
ds.mean(skipna=False) <xarray.Dataset> Size: 8B Dimensions: () Data variables: da float64 8B nan