scipy.stats.mstats.
hdquantiles#
- scipy.stats.mstats.hdquantiles(data, prob=[0.25, 0.5, 0.75], axis=None, var=False)[source]#
Computes quantile estimates with the Harrell-Davis method.
The quantile estimates are calculated as a weighted linear combination of order statistics.
- Parameters:
- dataarray_like
Data array.
- probsequence, optional
Sequence of probabilities at which to compute the quantiles.
- axisint or None, optional
Axis along which to compute the quantiles. If None, use a flattened array.
- varbool, optional
Whether to return the variance of the estimate.
- Returns:
- hdquantilesMaskedArray
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
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