jax.numpy.nancumprod#

jax.numpy.nancumprod(a, axis=None, dtype=None, out=None)[源代码]#

沿轴累积元素的乘积,忽略 NaN 值。

JAX 对 numpy.nancumprod() 的实现。

参数:
  • a (ArrayLike) – 要累积的 N 维数组。

  • axis (int | None) – 累积的整数轴。如果为 None(默认值),则数组将被展平并在展平的轴上累积。

  • dtype (DTypeLike | None) – 可选地指定输出的数据类型(dtype)。如果未指定,则输出的数据类型将与输入的数据类型匹配。

  • out (None) – JAX 未使用

返回:

包含沿给定轴累积乘积的数组。

返回类型:

Array

另请参阅

示例

>>> x = jnp.array([[1., 2., jnp.nan],
...                [4., jnp.nan, 6.]])

标准的累积乘积会传播 NaN 值

>>> jnp.cumprod(x)
Array([ 1.,  2., nan, nan, nan, nan], dtype=float32)

nancumprod() 会忽略 NaN 值,将其有效替换为 1

>>> jnp.nancumprod(x)
Array([ 1.,  2.,  2.,  8.,  8., 48.], dtype=float32)

沿轴 1 的累积乘积

>>> jnp.nancumprod(x, axis=1)
Array([[ 1.,  2.,  2.],
       [ 4.,  4., 24.]], dtype=float32)