xarray.IndexVariable.cumprod#
- IndexVariable.cumprod(dim=None, *, skipna=None, **kwargs)[source]#
Reduce this NamedArray’s data by applying
cumprod
along some dimension(s).- Parameters
dim (
str
,Iterable
ofHashable
,"..."
orNone
, default:None
) – Name of dimension[s] along which to applycumprod
. 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).**kwargs (
Any
) – Additional keyword arguments passed on to the appropriate array function for calculatingcumprod
on this object’s data. These could include dask-specific kwargs likesplit_every
.
- Returns
reduced (
NamedArray
) – New NamedArray withcumprod
applied to its data and the indicated dimension(s) removed
See also
numpy.cumprod
,dask.array.cumprod
,Dataset.cumprod
,DataArray.cumprod
,NamedArray.cumulative
- Aggregation
User guide on reduction or aggregation operations.
Notes
Non-numeric variables will be removed prior to reducing.
Note that the methods on the
cumulative
method are more performant (with numbagg installed) and better supported.cumsum
andcumprod
may be deprecated in the future.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.cumprod() <xarray.NamedArray (x: 6)> Size: 48B array([1., 2., 6., 0., 0., 0.])
Use
skipna
to control whether NaNs are ignored.>>> na.cumprod(skipna=False) <xarray.NamedArray (x: 6)> Size: 48B array([ 1., 2., 6., 0., 0., nan])