🍾 Xarray is now 10 years old! 🎉




Variable.var(dim=None, *, skipna=None, ddof=0, **kwargs)[source]#

Reduce this NamedArray’s data by applying var along some dimension(s).

  • dim (str, Iterable of Hashable, "..." or None, default: None) – Name of dimension[s] along which to apply var. For e.g. dim="x" or dim=["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).

  • ddof (int, default: 0) – “Delta Degrees of Freedom”: the divisor used in the calculation is N - ddof, where N represents the number of elements.

  • **kwargs (Any) – Additional keyword arguments passed on to the appropriate array function for calculating var on this object’s data. These could include dask-specific kwargs like split_every.


reduced (NamedArray) – New NamedArray with var applied to its data and the indicated dimension(s) removed

See also

numpy.var, dask.array.var, Dataset.var, DataArray.var


User guide on reduction or aggregation operations.


Non-numeric variables will be removed prior to reducing.


>>> from xarray.namedarray.core import NamedArray
>>> na = NamedArray(
...     "x",
...     np.array([1, 2, 3, 0, 2, np.nan]),
... )
>>> na
<xarray.NamedArray (x: 6)> Size: 48B
array([ 1.,  2.,  3.,  0.,  2., nan])
>>> na.var()
<xarray.NamedArray ()> Size: 8B

Use skipna to control whether NaNs are ignored.

>>> na.var(skipna=False)
<xarray.NamedArray ()> Size: 8B

Specify ddof=1 for an unbiased estimate.

>>> na.var(skipna=True, ddof=1)
<xarray.NamedArray ()> Size: 8B