xarray.Variable.prod#
- Variable.prod(dim=None, *, skipna=None, min_count=None, **kwargs)[source]#
Reduce this NamedArray’s data by applying
prod
along some dimension(s).- Parameters:
dim (
str
,Iterable
ofHashable
,"..."
orNone
, default:None
) – Name of dimension[s] along which to applyprod
. 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).min_count (
int
orNone
, optional) – The required number of valid values to perform the operation. If fewer than min_count non-NA values are present the result will be NA. Only used if skipna is set to True or defaults to True for the array’s dtype. Changed in version 0.17.0: if specified on an integer array and skipna=True, the result will be a float array.**kwargs (
Any
) – Additional keyword arguments passed on to the appropriate array function for calculatingprod
on this object’s data. These could include dask-specific kwargs likesplit_every
.
- Returns:
reduced (
NamedArray
) – New NamedArray withprod
applied to its data and the indicated dimension(s) removed
See also
numpy.prod
,dask.array.prod
,Dataset.prod
,DataArray.prod
- Aggregation
User guide on reduction or aggregation operations.
Notes
Non-numeric variables will be removed prior to reducing.
Examples
>>> 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.prod() <xarray.NamedArray ()> Size: 8B array(0.)
Use
skipna
to control whether NaNs are ignored.>>> na.prod(skipna=False) <xarray.NamedArray ()> Size: 8B array(nan)
Specify
min_count
for finer control over when NaNs are ignored.>>> na.prod(skipna=True, min_count=2) <xarray.NamedArray ()> Size: 8B array(0.)