numpy.nanpercentile()function used to compute the nth percentile of the given data (array elements) along the specified axis and 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
# Python Program illustrating # numpy.nanpercentile() method import numpy as np # 1D array arr = [ 20 , 2 , 7 , np.nan, 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 )) print ("\n50th 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] 50th percentile of arr : nan 25th percentile of arr : nan 75th percentile of arr : nan 50th percentile of arr : 13.5 25th percentile of arr : 5.75 75th percentile of arr : 23.5
Code #2 :
Python
# 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 (& quot \narr: \n" , arr) # Percentile of the flattened array print (& quot \n50th Percentile of arr, axis = None : & quot , np.percentile(arr, 50 )) print (& quot \n50th Percentile of arr, axis = None : & quot , np.nanpercentile(arr, 50 )) print (& quot 0th Percentile of arr, axis = None : & quot , np.nanpercentile(arr, 0 )) # Percentile along the axis = 0 print (& quot \n50th Percentile of arr, axis = 0 : & quot , np.nanpercentile(arr, 50 , axis = 0 )) print (& quot 0th Percentile of arr, axis = 0 : & quot , np.nanpercentile(arr, 0 , axis = 0 )) # Percentile along the axis = 1 print (& quot \n50th Percentile of arr, axis = 1 : & quot , np.nanpercentile(arr, 50 , axis = 1 )) print (& quot 0th Percentile of arr, axis = 1 : & quot , np.nanpercentile(arr, 0 , axis = 1 )) print (& quot \n0th Percentile of arr, axis = 1 : \n" , np.nanpercentile(arr, 50 , axis = 1 , keepdims = True )) print (& quot \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
# 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 (& quot \narr: \n" , arr) # Percentile along the axis = 1 print (& quot \n50th Percentile of arr, axis = 1 : & quot , np.nanpercentile(arr, 50 , axis = 1 )) print (& quot \n50th Percentile of arr, axis = 0 : & quot , 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)