maxframe.tensor.nanmean#

maxframe.tensor.nanmean(a, axis=None, dtype=None, out=None, keepdims=None)[源代码]#

沿指定轴计算算术平均值,忽略 NaN。

返回张量元素的平均值。默认情况下,平均值是在展平的张量上计算的,否则在指定轴上计算。对于整数输入,使用 float64 类型作为中间和返回值。

对于全为 NaN 的切片,返回 NaN 并引发 RuntimeWarning

参数:
  • a (array_like) -- 包含要求平均值的数字的张量。如果 a 不是张量,则尝试进行转换。

  • axis (int, optional) -- 计算平均值的轴。默认情况下计算展平张量的平均值。

  • dtype (data-type, optional) -- 用于计算平均值的类型。对于整数输入,默认为 float64;对于不精确输入,它与输入的 dtype 相同。

  • out (Tensor, optional) -- 用于放置结果的替代输出张量。默认为 None;如果提供,它必须具有与预期输出相同的形状,但类型在必要时将被强制转换。有关详细信息,请参见 doc.ufuncs

  • keepdims (bool, optional) -- 如果设置为 True,则被压缩的轴将保留在结果中作为大小为一的维度。使用此选项,结果将能正确广播到原始 a。如果值不是默认值,则 keepdims 将传递给 Tensor 子类的 meansum 方法。如果子类方法未实现 keepdims,将引发异常。

返回:

m -- 如果 out=None,则返回一个包含平均值的新数组,否则返回对输出数组的引用。对于只包含 NaN 的切片,返回 NaN。

返回类型:

Tensor, see dtype parameter above

参见

average

加权平均值

mean

计算算术平均值时不忽略 NaN

var, nanvar

备注

算术平均值是沿轴的非 NaN 元素之和除以非 NaN 元素的数量。

注意,对于浮点数输入,平均值是使用与输入相同的精度计算的。根据输入数据的不同,这可能导致结果不准确,特别是对于 float32。使用 dtype 关键字指定更高精度的累加器可以缓解此问题。

示例

>>> import maxframe.tensor as mt
>>> a = mt.array([[1, mt.nan], [3, 4]])
>>> mt.nanmean(a).execute()
2.6666666666666665
>>> mt.nanmean(a, axis=0).execute()
array([ 2.,  4.])
>>> mt.nanmean(a, axis=1).execute()
array([ 1.,  3.5])