- numpy.quantile(a, q, axis=None, out=None, overwrite_input=False, method='linear', keepdims=False, *, interpolation=None)[source]#
Compute the q-th quantile of the data along the specified axis.
New in version 1.15.0.
- Parameters
- aarray_like
Input array or object that can be converted to an array.
- qarray_like of float
Quantile or sequence of quantiles to compute, which must be between0 and 1 inclusive.
- axis{int, tuple of int, None}, optional
Axis or axes along which the quantiles are computed. The default isto compute the quantile(s) along a flattened version of the array.
- outndarray, optional
Alternative output array in which to place the result. It must havethe same shape and buffer length as the expected output, but thetype (of the output) will be cast if necessary.
- overwrite_inputbool, optional
If True, then allow the input array a to be modified byintermediate calculations, to save memory. In this case, thecontents of the input a after this function completes isundefined.
- methodstr, optional
This parameter specifies the method to use for estimating thequantile. There are many different methods, some unique to NumPy.See the notes for explanation. The options sorted by their R typeas summarized in the H&F paper [1] are:
‘inverted_cdf’
‘averaged_inverted_cdf’
‘closest_observation’
‘interpolated_inverted_cdf’
‘hazen’
‘weibull’
‘linear’ (default)
‘median_unbiased’
‘normal_unbiased’
The first three methods are discontinuous. NumPy further defines thefollowing discontinuous variations of the default ‘linear’ (7.) option:
See Alsonumpy.quantile — NumPy v2.0 Manualnumpy.quantile — NumPy v2.0 Manualnumpy.quantile() [de]Numpy Quantile() Explained With Examples‘lower’
‘higher’,
‘midpoint’
‘nearest’
Changed in version 1.22.0: This argument was previously called “interpolation” and onlyoffered the “linear” default and last four options.
- keepdimsbool, optional
If this is set to True, the axes which are reduced are left inthe result as dimensions with size one. With this option, theresult will broadcast correctly against the original array a.
- interpolationstr, optional
Deprecated name for the method keyword argument.
Deprecated since version 1.22.0.
- Returns
- quantilescalar or ndarray
If q is a single quantile and axis=None, then the resultis a scalar. If multiple quantiles are given, first axis ofthe result corresponds to the quantiles. The other axes arethe axes that remain after the reduction of a. If the inputcontains integers or floats smaller than
float64
, the outputdata-type isfloat64
. Otherwise, the output data-type is thesame as that of the input. If out is specified, that array isreturned instead.
See also
- mean
- percentile
equivalent to quantile, but with q in the range [0, 100].
- median
equivalent to
quantile(..., 0.5)
- nanquantile
Notes
Given a vector
V
of lengthN
, the q-th quantile ofV
is thevalueq
of the way from the minimum to the maximum in a sorted copy ofV
. The values and distances of the two nearest neighbors as well as themethod parameter will determine the quantile if the normalizedranking does not match the location ofq
exactly. This function is thesame as the median ifq=0.5
, the same as the minimum ifq=0.0
andthe same as the maximum ifq=1.0
.The optional method parameter specifies the method to use when thedesired quantile lies between two data points
i < j
.Ifg
is the fractional part of the index surrounded byi
andj
,and alpha and beta are correction constants modifying i and j:\[i + g = (q - alpha) / ( n - alpha - beta + 1 )\]
The different methods then work as follows
- inverted_cdf:
method 1 of H&F [1].This method gives discontinuous results:
if g > 0 ; then take j
if g = 0 ; then take i
- averaged_inverted_cdf:
method 2 of H&F [1].This method gives discontinuous results:
if g > 0 ; then take j
if g = 0 ; then average between bounds
- closest_observation:
method 3 of H&F [1].This method gives discontinuous results:
if g > 0 ; then take j
if g = 0 and index is odd ; then take j
if g = 0 and index is even ; then take i
- interpolated_inverted_cdf:
method 4 of H&F [1].This method gives continuous results using:
alpha = 0
beta = 1
- hazen:
method 5 of H&F [1].This method gives continuous results using:
alpha = 1/2
beta = 1/2
- weibull:
method 6 of H&F [1].This method gives continuous results using:
alpha = 0
beta = 0
- linear:
method 7 of H&F [1].This method gives continuous results using:
alpha = 1
beta = 1
- median_unbiased:
method 8 of H&F [1].This method is probably the best method if the sampledistribution function is unknown (see reference).This method gives continuous results using:
alpha = 1/3
beta = 1/3
- normal_unbiased:
method 9 of H&F [1].This method is probably the best method if the sampledistribution function is known to be normal.This method gives continuous results using:
alpha = 3/8
beta = 3/8
- lower:
NumPy method kept for backwards compatibility.Takes
i
as the interpolation point.- higher:
NumPy method kept for backwards compatibility.Takes
j
as the interpolation point.- nearest:
NumPy method kept for backwards compatibility.Takes
i
orj
, whichever is nearest.- midpoint:
NumPy method kept for backwards compatibility.Uses
(i + j) / 2
.
References
- 1(1,2,3,4,5,6,7,8,9,10)
R. J. Hyndman and Y. Fan,“Sample quantiles in statistical packages,”The American Statistician, 50(4), pp. 361-365, 1996
Examples
>>> a = np.array([[10, 7, 4], [3, 2, 1]])>>> aarray([[10, 7, 4], [ 3, 2, 1]])>>> np.quantile(a, 0.5)3.5>>> np.quantile(a, 0.5, axis=0)array([6.5, 4.5, 2.5])>>> np.quantile(a, 0.5, axis=1)array([7., 2.])>>> np.quantile(a, 0.5, axis=1, keepdims=True)array([[7.], [2.]])>>> m = np.quantile(a, 0.5, axis=0)>>> out = np.zeros_like(m)>>> np.quantile(a, 0.5, axis=0, out=out)array([6.5, 4.5, 2.5])>>> marray([6.5, 4.5, 2.5])>>> b = a.copy()>>> np.quantile(b, 0.5, axis=1, overwrite_input=True)array([7., 2.])>>> assert not np.all(a == b)
See also numpy.percentile for a visualization of most methods.
numpy.quantile — NumPy v1.23 Manual (2024)
Top Articles
Elden Ring: 7 Steps To PREPARE For Shadow of the Erdtree DLC - Gameranx
Don't make my mistake by starting Elden Ring: Shadow of the Erdtree with your cheesy, OP NG+ build
90 Wise & Inspiring Quotes on Simplicity (WISDOM)
The 69 Best Quotes About Simplicity - Curated Quotes
Harkins Estrella Falls 16 Ticket Price Information
Ahead of Ariane 6 launch, what are the other big rockets?
Menu - O'Town Food Hall & Tap House O'Fallon IL
August the Mansion now open in O'Fallon, Illinois
Swtor Bonds Of Duty
tone science – tone science
Wow Dragonflight Fishcake Recipe - Share Recipes
Converse With As A Deity Crossword Clue
Latest Posts
Elden Ring: How to Complete Volcano Manor and Find Rykard, Lord of Blasphemy
Mohg, Lord of Blood Location and Boss Fight Guide - Elden Ring Guide - IGN
Article information
Author: Delena Feil
Last Updated:
Views: 5588
Rating: 4.4 / 5 (45 voted)
Reviews: 92% of readers found this page helpful
Author information
Name: Delena Feil
Birthday: 1998-08-29
Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543
Phone: +99513241752844
Job: Design Supervisor
Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles
Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.