dask.array.nancumprod
dask.array.nancumprod¶
- dask.array.nancumprod(x, axis, dtype=None, out=None, *, method='sequential')[源代码]¶
返回数组元素在给定轴上的累积乘积,将非数字(NaNs)视为1。遇到NaNs时,累积乘积不会改变,而前导的NaNs会被替换为1。
此文档字符串是从 numpy.nancumprod 复制而来的。
Dask 版本可能存在一些不一致性。
Dask 添加了一个额外的仅关键字参数
method
。- 方法{‘sequential’, ‘blelloch’}, 可选
选择使用哪种方法来执行 cumprod。默认是 ‘sequential’。
‘sequential’ 在当前块之前对每个先前的块执行累积乘积。
- ‘blelloch’ 是一种工作效率高的并行 cumprod。它通过首先
通过二叉树的方式将每个块的乘积结合起来。这种方法可能在某些工作负载、调度器和硬件上更快或更节省内存。还需要更多的基准测试。
对于全是NaN或空的切片,返回一个。
1.12.0 新版功能.
- 参数
- aarray_like (Dask 中不支持)
输入数组。
- 轴int, 可选
计算累积乘积的轴。默认情况下,输入会被展平。
- dtypedtype, 可选
返回数组的类型,以及元素相乘的累加器的类型。如果未指定 dtype ,则默认为 a 的 dtype ,除非 a 具有精度低于默认平台整数的整数 dtype 。在这种情况下,将使用默认平台整数。
- 出ndarray,可选
可选的输出数组,用于放置结果。它必须与预期输出的形状和缓冲区长度相同,但如果需要,结果值的类型将被强制转换。
- 返回
- nancumprodndarray
除非指定了 out,否则将返回一个包含结果的新数组。
参见
numpy.cumprod
累积乘积跨越数组传播 NaN。
isnan
显示哪些元素是 NaN。
示例
>>> import numpy as np >>> np.nancumprod(1) array([1]) >>> np.nancumprod([1]) array([1]) >>> np.nancumprod([1, np.nan]) array([1., 1.]) >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nancumprod(a) array([1., 2., 6., 6.]) >>> np.nancumprod(a, axis=0) array([[1., 2.], [3., 2.]]) >>> np.nancumprod(a, axis=1) array([[1., 2.], [3., 3.]])