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.]])