mars.tensor.nanprod#
- mars.tensor.nanprod(a, axis=None, dtype=None, out=None, keepdims=None, combine_size=None)[来源]#
返回给定轴上数组元素的乘积,将非数字(NaNs)视为1。
全为NaN或为空的切片返回一个。
- Parameters
a (array_like) – 包含所需乘积的数字的张量。如果a 不是张量,将尝试进行转换。
axis (int, 可选) – 计算产品的轴。默认情况下计算扁平化张量的产品。
dtype (数据类型, 可选) – 返回的张量的类型以及用于累加的元素所在的累加器的类型。默认情况下,使用a的dtype。一个例外是当a具有比平台(u)intp精度更低的整数类型时。在这种情况下,默认值将是(u)int32或(u)int64,具体取决于平台是32位还是64位。对于不精确的输入,dtype必须是不精确的。
out (张量, 可选) – 备用输出张量,用于放置结果。默认值是
None。如果提供,它必须具有与预期输出相同的形状,但类型在必要时会被转换。有关详细信息,请参见 doc.ufuncs。将 NaN 转换为整数可能会产生意外结果。keepdims (bool, 可选) – 如果为 True,则被减少的轴将作为大小为一的维度保留在结果中。使用此选项,结果将能够正确地与原始 arr 进行广播。
combine_size (int, 可选) – 拼接的块数。
- Returns
nanprod – 返回一个新的张量,保存结果,除非指定了out,在这种情况下返回该值。
- Return type
张量
另请参阅
mt.prod在数组中传播NaNs的产品。
isnan显示哪些元素是 NaN。
示例
>>> import mars.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.])