jax.numpy.nanpercentile

jax.numpy.nanpercentile#

jax.numpy.nanpercentile(a, q, axis=None, out=None, overwrite_input=False, method='linear', keepdims=False, *, interpolation=Deprecated)[源代码][源代码]#

计算沿指定轴的数据百分位数,忽略 NaN 值。

JAX 实现的 numpy.nanpercentile()

参数:
  • a (ArrayLike) – N 维数组输入。

  • q (ArrayLike) – 指定所需分位数的标量或一维数组。q 应包含介于 0100 之间的整数或浮点值。

  • axis (int | tuple[int, ...] | None) – 可选的轴或轴的元组,沿其计算分位数

  • out (None) – JAX 未实现;如果非 None 则会报错

  • overwrite_input (bool) – JAX 未实现此功能;如果未设置为 False,将会报错。

  • method (str) – 指定要使用的插值方法。选项是 ["linear", "lower", "higher", "midpoint", "nearest"] 之一。默认是 linear

  • keepdims (bool) – 如果为真,则返回的数组将具有与输入相同的维度数量。默认为假。

  • interpolation (str | DeprecatedArg) – method 参数的已弃用别名。如果使用,将导致 DeprecationWarning

返回:

包含指定轴上指定百分位数的数组。

返回类型:

Array

参见

示例

计算一维数组的中位数和四分位数:

>>> x = jnp.array([0, 1, 2, jnp.nan, 3, 4, 5, 6])
>>> q = jnp.array([25, 50, 75])

由于 NaN 值的存在,jax.numpy.percentile() 返回所有 NaN,而 nanpercentile() 则忽略它们:

>>> jnp.percentile(x, q)
Array([nan, nan, nan], dtype=float32)
>>> jnp.nanpercentile(x, q)
Array([1.5, 3. , 4.5], dtype=float32)