# numpy.percentile() in python

• Difficulty Level : Hard
• Last Updated : 18 Feb, 2023

numpy.percentile()function used to compute the nth percentile of the given data (array elements) along the specified axis.

Syntax : numpy.percentile(arr, n, axis=None, out=None,overwrite_input=False, method=’linear’, keepdims=False, *, interpolation=None)
Parameters :
arr :input array.

n:  Percentile or sequence of percentiles to compute, which must be between 0 and 100 inclusive.
axis : axis along which we want to calculate the percentile value. Otherwise, it will consider arr to be flattened(works on all the axis). axis = 0 means along the column and axis = 1 means working along the row.
out :Different array in which we want to place the result. The array must have same dimensions as expected output.

overwrite_input :bool, optional
If True, then allow the input array a to be modified by intermediate calculations, to save memory. In this case, the contents of the input a after this function completes is undefined.
method :str, optional
This parameter specifies the method to use for estimating the percentile. There are many different methods, some unique to NumPy. See the notes for explanation. The options sorted by their R type as summarized in the H&F paper [1] are:

1. â€˜inverted_cdfâ€™
2. â€˜averaged_inverted_cdfâ€™
3. â€˜closest_observationâ€™
4. â€˜interpolated_inverted_cdfâ€™
5. â€˜hazenâ€™
6. â€˜weibullâ€™
7. â€˜linearâ€™ (default)
8. â€˜median_unbiasedâ€™
9. â€˜normal_unbiasedâ€™

The first three methods are discontinuous. NumPy further defines the following discontinuous variations of the default â€˜linearâ€™ (7.) option:

• â€˜lowerâ€™
• â€˜higherâ€™,
• â€˜midpointâ€™
• â€˜nearestâ€™

keepdims :bool, optional
If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original array a.

interpolation :str, optional
Deprecated name for the method keyword argument.

Return :nth Percentile of the array (a scalar value if axis is none)or array with percentile values along specified axis.

Code #1 : Working

## Python

 `# Python Program illustrating``# numpy.percentile() method``  ` `import` `numpy as np``  ` `# 1D array``arr ``=` `[``20``, ``2``, ``7``, ``1``, ``34``]``print``(``"arr : "``, arr)``print``(``"50th percentile of arr : "``,``       ``np.percentile(arr, ``50``))``print``(``"25th percentile of arr : "``,``       ``np.percentile(arr, ``25``))``print``(``"75th percentile of arr : "``,``       ``np.percentile(arr, ``75``))`

Output :

```arr :  [20, 2, 7, 1, 34]
50th percentile of arr :  7.0
25th percentile of arr :  2.0
75th percentile of arr :  20.0```

Code #2 :

## Python

 `# Python Program illustrating``# numpy.percentile() method ` `import` `numpy as np` `# 2D array``arr ``=` `[[``14``, ``17``, ``12``, ``33``, ``44``], ``       ``[``15``, ``6``, ``27``, ``8``, ``19``],``       ``[``23``, ``2``, ``54``, ``1``, ``4``,]]``print``(``"\narr : \n"``, arr)``   ` `# Percentile of the flattened array``print``(``"\n50th Percentile of arr, axis = None : "``,``      ``np.percentile(arr, ``50``))``print``(``"0th Percentile of arr, axis = None : "``,``      ``np.percentile(arr, ``0``))``   ` `# Percentile along the axis = 0``print``(``"\n50th Percentile of arr, axis = 0 : "``,``      ``np.percentile(arr, ``50``, axis ``=``0``))``print``(``"0th Percentile of arr, axis = 0 : "``,``      ``np.percentile(arr, ``0``, axis ``=``0``))`

Output :

```arr :
[[14, 17, 12, 33, 44], [15, 6, 27, 8, 19], [23, 2, 54, 1, 4]]

50th Percentile of arr, axis = None :  15.0
0th Percentile of arr, axis = None :  1.0

50th Percentile of arr, axis = 0 :  [15.  6. 27.  8. 19.]
0th Percentile of arr, axis = 0 :  [14.  2. 12.  1.  4.]

50th Percentile of arr, axis = 1 :  [17. 15.  4.]
0th Percentile of arr, axis = 1 :  [12.  6.  1.]```

Code #3 :

## Python

 `# Python Program illustrating``# numpy.percentile() method` `import` `numpy as np` `# 2D array``arr ``=` `[[``14``, ``17``, ``12``, ``33``, ``44``], ``       ``[``15``, ``6``, ``27``, ``8``, ``19``],``       ``[``23``, ``2``, ``54``, ``1``, ``4``,]]``print``(``"\narr : \n"``, arr)` `# Percentile along the axis = 1``print``(``"\n50th Percentile of arr, axis = 1 : "``,``      ``np.percentile(arr, ``50``, axis ``=``1``))``print``(``"0th Percentile of arr, axis = 1 : "``,``      ``np.percentile(arr, ``0``, axis ``=``1``))`` ` `print``(``"\n0th Percentile of arr, axis = 1 : \n"``,``      ``np.percentile(arr, ``50``, axis ``=``1``, keepdims``=``True``))``print``(``"\n0th Percentile of arr, axis = 1 : \n"``,``      ``np.percentile(arr, ``0``, axis ``=``1``, keepdims``=``True``))`

Output :

```arr :
[[14, 17, 12, 33, 44], [15, 6, 27, 8, 19], [23, 2, 54, 1, 4]]

0th Percentile of arr, axis = 1 :
[[17.]
[15.]
[ 4.]]

0th Percentile of arr, axis = 1 :
[[12.]
[ 6.]
[ 1.]]```

My Personal Notes arrow_drop_up