maxframe.tensor.nanprod#
- maxframe.tensor.nanprod(a, axis=None, dtype=None, out=None, keepdims=None)[源代码]#
返回给定轴上数组元素的乘积,将非数字(NaN)视为1。
对于全为NaN或空的切片,返回1。
- 参数:
a (array_like) -- 包含所需乘积的张量。如果`a`不是一个张量,则尝试进行转换。
axis (int, optional) -- 计算乘积的轴。默认计算展平张量的乘积。
dtype (data-type, optional) -- 返回张量的类型和元素相加的累加器类型。默认情况下,使用`a`的dtype。一个例外情况是当`a`具有比平台(u)intp精度低的整数类型时。在这种情况下,默认值将是(u)int32或(u)int64,具体取决于平台是32位还是64位。对于不精确的输入,dtype必须是不精确的。
out (Tensor, optional) -- 用于放置结果的替代输出张量。默认为``None``。如果提供,它必须具有与预期输出相同的形状,但如有必要,类型将被转换。详情请参见`doc.ufuncs`。将NaN转换为整数可能会产生意外结果。
keepdims (bool, optional) -- 如果为True,则在结果中保留被归约的轴作为大小为1的维度。使用此选项,结果将能够正确地与原始`arr`进行广播。
- 返回:
nanprod -- 返回一个保存结果的新张量,除非指定了`out`,在这种情况下返回它。
- 返回类型:
Tensor
参见
mt.prod跨数组传播NaN的乘积。
isnan显示哪些元素是NaN。
示例
>>> import maxframe.tensor as mt
>>> mt.nanprod(1).execute() 1 >>> mt.nanprod([1]).execute() 1 >>> mt.nanprod([1, mt.nan]).execute() 1.0 >>> a = mt.array([[1, 2], [3, mt.nan]]) >>> mt.nanprod(a).execute() 6.0 >>> mt.nanprod(a, axis=0).execute() array([ 3., 2.])