xarray.DataTree.var#
- DataTree.var(dim=None, *, skipna=None, ddof=0, keep_attrs=None, **kwargs)[source]#
Reduce this DataTree’s data by applying
var
along some dimension(s).- Parameters
dim (
str
,Iterable
ofHashable
,"..."
orNone
, default:None
) – Name of dimension[s] along which to applyvar
. For e.g.dim="x"
ordim=["x", "y"]
. If “…” or None, will reduce over all dimensions.skipna (
bool
orNone
, 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=True
has not been implemented (object, datetime64 or timedelta64).ddof (
int
, default:0
) – “Delta Degrees of Freedom”: the divisor used in the calculation isN - ddof
, whereN
represents the number of elements.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 calculatingvar
on this object’s data. These could include dask-specific kwargs likesplit_every
.
- Returns
reduced (
DataTree
) – New DataTree withvar
applied to its data and the indicated dimension(s) removed
See also
numpy.var
,dask.array.var
,Dataset.var
,DataArray.var
- Aggregation
User guide on reduction or aggregation operations.
Notes
Non-numeric variables will be removed prior to reducing.
Examples
>>> dt = xr.DataTree( ... xr.Dataset( ... data_vars=dict(foo=("time", np.array([1, 2, 3, 0, 2, np.nan]))), ... coords=dict( ... time=( ... "time", ... pd.date_range("2001-01-01", freq="ME", periods=6), ... ), ... labels=("time", np.array(["a", "b", "c", "c", "b", "a"])), ... ), ... ), ... ) >>> dt <xarray.DataTree> Group: / 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: foo (time) float64 48B 1.0 2.0 3.0 0.0 2.0 nan
>>> dt.var() <xarray.DataTree> Group: / Dimensions: () Data variables: foo float64 8B 1.04
Use
skipna
to control whether NaNs are ignored.>>> dt.var(skipna=False) <xarray.DataTree> Group: / Dimensions: () Data variables: foo float64 8B nan
Specify
ddof=1
for an unbiased estimate.>>> dt.var(skipna=True, ddof=1) <xarray.DataTree> Group: / Dimensions: () Data variables: foo float64 8B 1.3