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 子类的 mean 或 sum 方法。如果子类方法未实现 keepdims,将引发异常。
- 返回:
m -- 如果 out=None,则返回一个包含平均值的新数组,否则返回对输出数组的引用。对于只包含 NaN 的切片,返回 NaN。
- 返回类型:
Tensor, see dtype parameter above
备注
算术平均值是沿轴的非 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])