# numpy.nanpercentile() in Python

`numpy.nanpercentile()`function used to compute the nth precentile of the given data (array elements) along the specified axis ang ignores nan values.

Syntax : numpy.nanpercentile(arr, q, axis=None, out=None)
Parameters :
arr :input array.
q : percentile value.
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.

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

Code #1 : Working

 `# Python Program illustrating  ` `# numpy.nanpercentile() method  ` `   `  `import` `numpy as np ` `   `  `# 1D array  ` `arr ``=` `[``20``, ``2``, ``7``, np.nan, ``34``] ` `print``(``"arr : "``, arr)  ` `print``(``"30th 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``)) ` ` `  `print``(``"\n30th percentile of arr : "``, ` `      ``np.nanpercentile(arr, ``50``)) ` `print``(``"25th percentile of arr : "``, ` `       ``np.nanpercentile(arr, ``25``)) ` `print``(``"75th percentile of arr : "``,  ` `      ``np.nanpercentile(arr, ``75``)) `

Output :

```arr :  [20, 2, 7, nan, 34]
30th percentile of arr :  nan
25th percentile of arr :  nan
75th percentile of arr :  nan

30th percentile of arr :  13.5
25th percentile of arr :  5.75
75th percentile of arr :  23.5
```

Code #2 :

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

Output :

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

50th Percentile of arr, axis = None :  nan

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

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

50th Percentile of arr, axis = 1 :  [23.5 17.   3. ]
0th Percentile of arr, axis = 1 :  [12.  8.  1.]

0th Percentile of arr, axis = 1 :
[[23.5]
[17. ]
[ 3. ]]

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

Code #3 :

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

Output :

```arr :
[[14, nan, 12, 33, 44], [15, nan, 27, 8, 19], [23, nan, nan, 1, 4]]

50th Percentile of arr, axis = 1 :  [23.5 17.   4. ]

50th Percentile of arr, axis = 0 :  [15.   nan 19.5  8.  19. ]
RuntimeWarning: All-NaN slice encountered
overwrite_input, interpolation)
```

My Personal Notes arrow_drop_up If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.