xarray.core.resample.DataArrayResample.std#
- DataArrayResample.std(dim=None, *, skipna=None, ddof=0, keep_attrs=None, **kwargs)[source]#
Reduce this DataArray’s data by applying
stdalong some dimension(s).- Parameters:
dim (
str,IterableofHashable,"..."orNone, default:None) – Name of dimension[s] along which to applystd. For e.g.dim="x"ordim=["x", "y"]. If None, will reduce over the Resample dimensions. If “…”, will reduce over all dimensions.skipna (
boolorNone, 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) orskipna=Truehas not been implemented (object, datetime64 or timedelta64).ddof (
int, default:0) – “Delta Degrees of Freedom”: the divisor used in the calculation isN - ddof, whereNrepresents the number of elements.keep_attrs (
boolorNone, optional) – If True,attrswill 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 calculatingstdon this object’s data. These could include dask-specific kwargs likesplit_every.
- Returns:
reduced (
DataArray) – New DataArray withstdapplied to its data and the indicated dimension(s) removed
See also
numpy.std,dask.array.std,DataArray.std- Resampling and grouped operations
User guide on resampling operations.
Notes
Use the
floxpackage 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 for more.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"])), ... ), ... ) >>> da <xarray.DataArray (time: 6)> Size: 48B array([ 1., 2., 3., 0., 2., nan]) 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'
>>> da.resample(time="3ME").std() <xarray.DataArray (time: 3)> Size: 24B array([0. , 1.24721913, 0. ]) Coordinates: * time (time) datetime64[ns] 24B 2001-01-31 2001-04-30 2001-07-31
Use
skipnato control whether NaNs are ignored.>>> da.resample(time="3ME").std(skipna=False) <xarray.DataArray (time: 3)> Size: 24B array([0. , 1.24721913, nan]) Coordinates: * time (time) datetime64[ns] 24B 2001-01-31 2001-04-30 2001-07-31
Specify
ddof=1for an unbiased estimate.>>> da.resample(time="3ME").std(skipna=True, ddof=1) <xarray.DataArray (time: 3)> Size: 24B array([ nan, 1.52752523, nan]) Coordinates: * time (time) datetime64[ns] 24B 2001-01-31 2001-04-30 2001-07-31