numpy.nanquantile() in Python

numpy.nanquantile(arr, q, axis = None) : Compute the qth quantile of the given data (array elements) along the specified axis, ignoring the nan values. Quantiles plays a very important role in statistics.
In the figure given above, Q2 is the median and Q3 – Q1 represents the Interquartile Range of the given 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 : qth quantile of the array (a scalar value if axis is none) or array with quantile values along specified axis, ignoring nan values.
Code #1 :
Python3
# Python Program illustrating# numpy.nanquantile() methodimport numpy as np# 1D arrayarr = [20, 2, 7, np.nan, 34]print("arr : ", arr)print("\n-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("\nQ1 - 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:
Python3
# Python Program illustrating# numpy.nanquantile() methodimport numpy as np# 2D arrayarr = [[14, np.nan, 12, 33, 44], [15, np.nan, 27, 8, 19], [23, 2, np.nan, 1, 4, ]]print("\narr : \n", arr)# quantile of the flattened arrayprint("\nQ2 quantile of arr, axis = None : ", np.quantile(arr, .50))print("\nQ2 quantile of arr, axis = None : ", np.nanquantile(arr, .50))print("0th quantile of arr, axis = None : ", np.nanquantile(arr, 0)) |
Output:
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:
Python3
# Python Program illustrating# numpy.nanquantile() methodimport numpy as np# 2D arrayarr = [[14, np.nan, 12, 33, 44], [15, np.nan, 27, 8, 19], [23, 2, np.nan, 1, 4, ]]print("\narr : \n", arr)# quantile along the axis = 0print("\nQ2 quantile of arr, axis = 0 : ", np.nanquantile(arr, .50, axis=0))print("0th quantile of arr, axis = 0 : ", np.nanquantile(arr, 0, axis=0))# quantile along the axis = 1print("\nQ2 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("\nQ2 quantile of arr, axis = 1 : \n", np.nanquantile(arr, .50, axis=1, keepdims=True))print("\n0th quantile of arr, axis = 1 : \n", np.nanquantile(arr, 0, axis=1, keepdims=True)) |
Output:
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.]]



