search
Search
Login
Unlock 100+ guides
menu
menu
web
search toc
close
Comments
Log in or sign up
Cancel
Post
account_circle
Profile
exit_to_app
Sign out
What does this mean?
Why is this true?
Give me some examples!
search
keyboard_voice
close
Searching Tips
Search for a recipe:
"Creating a table in MySQL"
Search for an API documentation: "@append"
Search for code: "!dataframe"
Apply a tag filter: "#python"
Useful Shortcuts
/ to open search panel
Esc to close search panel
to navigate between search results
d to clear all current filters
Enter to expand content preview
icon_star
Doc Search
icon_star
Code Search Beta
SORRY NOTHING FOUND!
mic
Start speaking...
Voice search is only supported in Safari and Chrome.
Navigate to
chevron_leftDocumentation
Method argpartition
NumPy Random Generator4 topics
Method choiceMethod dotMethod finfoMethod histogramMethod iinfoMethod maxMethod meanMethod placeMethod rootsMethod seedMethod uniformMethod viewMethod zerosMethod sumObject busdaycalendarMethod is_busdayProperty dtypeMethod uniqueMethod loadtxtMethod vsplitMethod fliplrMethod setdiff1dMethod msortMethod argsortMethod lexsortMethod aroundMethod nanmaxMethod nanminMethod nanargmaxMethod nanargminMethod argmaxMethod argminProperty itemsizeMethod spacingMethod fixMethod ceilMethod diffProperty flatProperty realProperty baseMethod flipMethod deleteMethod amaxMethod aminMethod logical_xorMethod logical_orMethod logical_notMethod logical_andMethod logaddexpMethod logaddexp2Method logspaceMethod not_equalMethod equalMethod greater_equalMethod lessMethod less_equalMethod remainderMethod modMethod emptyMethod greaterMethod isfiniteMethod busday_countMethod repeatMethod varMethod random_sampleMethod randomMethod signMethod stdMethod absoluteMethod absMethod sortMethod randintMethod isrealMethod linspaceMethod gradientMethod allMethod sampleProperty TProperty imagMethod covMethod insertMethod logMethod log1pMethod exp2Method expm1Method expMethod arccosMethod cosMethod arcsinMethod sinMethod tanMethod fromiterMethod trim_zerosMethod diagflatMethod savetxtMethod count_nonzeroProperty sizeProperty shapeMethod reshapeMethod resizeMethod triuMethod trilMethod eyeMethod arangeMethod fill_diagonalMethod tileMethod saveMethod transposeMethod swapaxesMethod meshgridProperty mgridMethod rot90Method log2Method radiansMethod deg2radMethod rad2degMethod degreesMethod log10Method appendMethod cumprodProperty nbytesMethod tostringProperty dataMethod modfMethod fmodMethod tolistMethod datetime_as_stringMethod datetime_dataMethod array_splitMethod itemsetMethod floorMethod put_along_axisMethod cumsumMethod bincountMethod putMethod putmaskMethod takeMethod hypotMethod sqrtMethod squareMethod floor_divideMethod triMethod signbitMethod flattenMethod ravelMethod rollMethod isrealobjMethod diagMethod diagonalMethod quantileMethod onesMethod iscomplexobjMethod iscomplexMethod isscalarMethod divmodMethod isnatMethod percentileMethod isnanMethod divideMethod addMethod reciprocalMethod positiveMethod subtractMethod medianMethod isneginfMethod isposinfMethod float_powerMethod powerMethod negativeMethod maximumMethod averageMethod isinfMethod multiplyMethod busday_offsetMethod identityMethod interpMethod squeezeMethod get_printoptionsMethod savez_compressedMethod savezMethod loadMethod asfarrayMethod clipMethod arrayMethod array_equivMethod array_equalMethod frombufferMethod set_string_functionMethod matmulMethod genfromtxtMethod fromfunctionMethod asscalarMethod searchsortedMethod full_likeMethod fullMethod shares_memoryMethod ptpMethod digitizeMethod argwhereMethod geomspaceMethod zeros_likeMethod fabsMethod flatnonzeroMethod vstackMethod dstackMethod fromstringMethod tobytesMethod expand_dimsMethod ranfMethod arctanMethod itemMethod extractMethod compressMethod chooseMethod asarrayMethod asmatrixMethod allcloseMethod iscloseMethod anyMethod corrcoefMethod truncMethod prodMethod crossMethod true_divideMethod hsplitMethod splitMethod rintMethod ediff1dMethod lcmMethod gcdMethod cbrtMethod flipudProperty ndimMethod array2stringMethod set_printoptionsMethod whereMethod hstack
Char32 topics
check_circle
Mark as learned
thumb_up
0
thumb_down
0
chat_bubble_outline
0
Comment
auto_stories Bi-column layout
settings

NumPy | percentile method

schedule Aug 12, 2023
Last updated
local_offer
PythonNumPy
Tags
mode_heat
Master the mathematics behind data science with 100+ top-tier guides
Start your free 7-days trial now!

Numpy's percentile(~) method returns the interpolated value at the specified percentile.

Parameters

1. a | array-like

The input array.

2. q | array-like of float

The desired percentile to compute, which must be between 0 (inclusive) and 100 (inclusive).

3. axis | None or int | optional

The axis along which to compute the percentile. For 2D arrays, the allowed values are as follows:

Axis

Meaning

0

Compute the percentile column-wise

1

Compute the percentile row-wise

None

Compute the percentile on a flattened input array.

By default, axis=None.

4. out | Numpy array | optional

Instead of creating a new array, you can place the computed result into the array specified by out.

5. overwrite_input | boolean | optional

Whether to save intermediate calculations to the input array a. This would save memory space, but would also make the content of a undefined. By default, overwrite_input=False.

6. interpolationlink | string | optional

How the values are interpolated when the given percentile sits between two data-points, say i and j where i<j:

Value

Meaning

linear

Standard linear interpolation

lower

Returns i

higher

Return j

midpoint

Returns (i+j)/2

nearest

Returns i or j, whichever is closer.

By default, interpolation="linear".

Return value

If q is a scalar, then a scalar is returned. Otherwise, a Numpy array is returned.

Examples

Computing a single percentile

To get the value at the 50th percentile:

a = np.array([5,6,7,8,9])
np.percentile(a, 50)
7.0

Computing multiple percentiles

To get the values at the 50th and 75th percentile:

a = np.array([5,6,7,8,9])
np.percentile(a, [50, 75])
array([7., 8.])

Changing interpolation methods

linear

Consider the case the value does not exist:

a = np.array([5,6,7,8,9])
np.percentile(a, 45)
6.800000000000001

Here, since the value corresponding to the 45th percentile does not exist in the array, the value was linearly interpolated (i.e. by default, interpolation="linear").

lower

a = np.array([5,6,7,8,9])
np.percentile(a, 45, interpolation="lower")
6

higher

a = np.array([5,6,7,8,9])
np.percentile(a, 45, interpolation="higher")
7

nearest

a = np.array([5,6,7,8,9])
np.percentile(a, 45, interpolation="nearest")
7

Here, judging from the output from when interpolation="linear", we know that the interpolated value is closer to 7 rather than 6.

midpoint

a = np.array([5,6,7,8,9])
np.percentile(a, 45, interpolation="midpoint")
6.5
robocat
Published by Isshin Inada
Edited by 0 others
Did you find this page useful?
thumb_up
thumb_down
Comment
Citation
Ask a question or leave a feedback...
thumb_up
0
thumb_down
0
chat_bubble_outline
0
settings
Enjoy our search
Hit / to insta-search docs and recipes!