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