Skip to main content
`Ctrl`+`K`

# scipy.stats.mstats.hdquantiles

scipy.stats.mstats.hdquantiles(data, prob=[0.25, 0.5, 0.75], axis=None, var=False)

  Computes quantile estimates with the Harrell-Davis method.

  The quantile estimates are calculated as a weighted linear combination of order statistics.

  Parameters:
    data array_like

      Data array.

    prob sequence, optional

      Sequence of probabilities at which to compute the quantiles.

    axis int or None, optional

      Axis along which to compute the quantiles. If None, use a flattened array.

    var bool, optional

      Whether to return the variance of the estimate.

  Returns:
    hdquantiles MaskedArray

      A (p,) array of quantiles (if var is False), or a (2,p) array of quantiles and variances (if var is True), where `p` is the number of quantiles.

  See also

  `hdquantiles_sd`

  Examples

      >>> import numpy as np
      >>> from scipy.stats.mstats import hdquantiles
      >>>
      >>> # Sample data
      >>> data = np.array([1.2, 2.5, 3.7, 4.0, 5.1, 6.3, 7.0, 8.2, 9.4])
      >>>
      >>> # Probabilities at which to compute quantiles
      >>> probabilities = [0.25, 0.5, 0.75]
      >>>
      >>> # Compute Harrell-Davis quantile estimates
      >>> quantile_estimates = hdquantiles(data, prob=probabilities)
      >>>
      >>> # Display the quantile estimates
      >>> for i, quantile in enumerate(probabilities):
      ...     print(f"{int(quantile * 100)}th percentile: {quantile_estimates[i]}")
      25th percentile: 3.1505820231763066 # may vary
      50th percentile: 5.194344084883956
      75th percentile: 7.430626414674935