maxframe.tensor.nancumsum#
- maxframe.tensor.nancumsum(a, axis=None, dtype=None, out=None)[源代码]#
返回在给定轴上将 NaN(非数字)视为零的张量元素的累积和。当遇到 NaN 时,累积和不会改变,且开头的 NaN 会被替换为零。
对于全部为 NaN 或空的切片,将返回零。
- 参数:
a (array_like) -- 输入张量。
axis (int, optional) -- 计算累积和的轴。默认值(None)是对展平的张量进行 cumsum 计算。
dtype (dtype, optional) -- 返回张量的类型和元素求和的累加器的类型。如果未指定 dtype,则默认为 a 的 dtype,除非 a 是精度低于默认平台整数的整数类型。在这种情况下,将使用默认平台整数。
out (Tensor, optional) -- 用于放置结果的替代输出张量。它必须具有与预期输出相同的形状和缓冲区长度,但类型在必要时会进行转换。有关更多详细信息,请参见 `doc.ufuncs`(“输出参数”一节)。
- 返回:
nancumsum —— 除非指定了 out,否则将返回一个包含结果的新张量。结果的大小与 a 相同,如果 axis 不为 None 或者 a 是一维张量,则形状也相同。
- 返回类型:
Tensor.
参见
numpy.cumsum沿张量传播 NaN 的累积和。
isnan显示哪些元素是 NaN。
示例
>>> import maxframe.tensor as mt
>>> mt.nancumsum(1).execute() array([1]) >>> mt.nancumsum([1]).execute() array([1]) >>> mt.nancumsum([1, mt.nan]).execute() array([ 1., 1.]) >>> a = mt.array([[1, 2], [3, mt.nan]]) >>> mt.nancumsum(a).execute() array([ 1., 3., 6., 6.]) >>> mt.nancumsum(a, axis=0).execute() array([[ 1., 2.], [ 4., 2.]]) >>> mt.nancumsum(a, axis=1).execute() array([[ 1., 3.], [ 3., 3.]])