tf.keras.ops.nanquantile

Compute the q-th quantile(s) of the data along the specified axis, while ignoring NaNs.

x Input tensor.
q Probability or sequence of probabilities for the quantiles to compute. Values must be between 0 and 1 inclusive.
axis Axis or axes along which the quantiles are computed. Defaults to axis=None which is to compute the quantile(s) along a flattened version of the array.
method A string specifies the method to use for estimating the quantile. Available methods are "linear", "lower", "higher", "midpoint", and "nearest". Defaults to "linear". If the desired quantile lies between two data points i < j:

  • "linear": i + (j - i) * fraction, where fraction is the fractional part of the index surrounded by i and j.
  • "lower": i.
  • "higher": j.
  • "midpoint": (i + j) / 2
  • "nearest": i or j, whichever is nearest.
keepdims If this is set to True, the axes which are reduced are left in the result as dimensions with size one.

The quantile(s) ignoring NaNs.

Examples:

import keras
from keras import ops
x = keras.ops.array([1., 2., 3., 4.])
keras.ops.nanquantile(x, 0.5)
2.5
x = keras.ops.array([1., 2., float("nan"), 4.])
keras.ops.nanquantile(x, 0.5)
2.0
x = keras.ops.array([1., 2., 3., 4.])
keras.ops.nanquantile(x, [0.25, 0.75])
array([1.75, 3.25])
x = keras.ops.array([[1., 2., float("nan")],
                     [4., 5., 6.]])
keras.ops.nanquantile(x, 0.5, axis=1)
array([1.5, 5.0])