numpy.nanquantile () in Python



The quantile plays a very important role in statistics when it comes to normal distribution.

In the above picture, Q2 — it is median normally distributed data.  Q3 - Q2 represents the inter-quantum range of this dataset.

Parameters:
arr: [array_like] input array.
q: quantile value.
axis: [int or tuples of int] axis along which we want to calculate the quantile 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: [ndarray, optional] Different array in which we want to place the result. The array must have same dimensions as expected output.

Results: q th quantile of the array (a scalar value if axis is none) or array with quantile values ​​along specified axis, ignoring nan values.

Code # 1:

# Python program illustrating
# numpy.nanquantile () method

import numpy as np 

 
# 1D array

arr = [ 20 , 2 , 7 , np.nan, 34

print ( " arr: " , arr) 

  

print ( "-Q1 quantile of arr:" , np.quantile (arr,. 50 )) 

print ( "Q2 - quantile of arr:" , np.quantile (arr,. 25 )) 

print ( "Q3 - quantile of arr:" , np.quantile (arr,. 75 )) 

 

print ( "Q1 - nanquantile of arr:" , np.nanquantile (arr,. 50 )) 

print ( "Q2 - nanquantile of arr:" , np.nanquantile (arr,. 25 )) 

print ( "Q3 - nanquantile of arr:" , np.nanquantile (arr,. 75 )) 

Output:

 arr: [20, 2, 7, nan, 34] Q1 - quantile of arr: nan Q2 - quantile of arr: nan Q3 - quantile of arr: nan Q1 - nanquantile of arr: 13.5 Q2 - nanquantile of arr: 5.75 Q3 - nanquantile of arr: 23.5 

Code # 2:

 

# Python program illustrating
# numpy.nanquantile () method

 

import numpy as np 

 
# 2D array

arr = [[ 14 , np.nan, 12 , 33 , 44 ], 

[ 15 , np.nan, 27 , 8 < code class = "plain">, 19 ], 

[ 23 , 2 , np.nan, 1 , 4 ,]] 

print ( "arr:" , arr) 

 
# flattened array quantile

print ( "Q2 quantile of arr, axis = None:" , np.quantile (arr,. 50 )) 

print ( "Q2 quantile of arr, axis = None: " , np.nanquantile (arr,. 50 )) 

print ( "0th quantile of arr, axis = None:" , np.nanquantile (arr, 0 )) 

Exit:

 arr: [[14, nan, 12, 33, 44], [15, nan, 27, 8, 19], [23, 2, nan, 1, 4]] Q2 quantile of arr, axis = None: nan Q2 quantile of arr, axis = None: 14.5 0th quantile of arr, axis = None: 1.0 

Code # 3:

# Python program illustrating
# numpy.nanquantile () 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 ( "arr:" , arr) 

 
# axis quantile = 0

print ( "Q2 quantile of arr, axis = 0:" , np.nanquantile (arr,. 50 , axis = 0 )) 

print ( "0th quantile of arr, axis = 0:" , np.nanquantile (arr, 0 , axis = 0 )) 

  
# axis quantile = 1

print ( "Q2 quantile of arr, axis = 1:" , np.nanquantile (arr ,. 50 , axis = 1 )) 

print ( "0th quantile of arr, axis = 1:" , np.nanquantile (arr, 0 , axis = 1 )) 

 

print ( "Q2 quantile of arr, axis = 1:" ,

  np.nanquantile (arr,. 50 , axis = 1 , keepdims = True )) 

print ( "0th quantile of arr, axis = 1:" ,

np.nanquantile (arr, 0 , axis = 1 , keepdims = True )) 

Exit:

 arr: [[14, nan, 12, 33, 44], [15, nan, 27, 8, 19], [23, 2, nan, 1, 4]] Q2 quantile of arr, axis = 0: [15 ... 2. 19.5 8. 19.] 0th quantile of arr, axis = 0: [14. 2. 12. 1. 4.] Q2 quantile of arr, axis = 1: [23.5 17. 3.] 0th quantile of arr, axis = 1: [12. 8. 1.] Q2 quantile of arr, axis = 1: [[23.5] [17. ] [3.]] 0th quantile of arr, axis = 1: [[12.] [8.] [1.]]