當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy.nanquantile()用法及代碼示例


numpy.nanquantile(arr, q, axis = None)計算qth沿指定軸的給定數據(數組元素)的分位數,忽略nan值。

當人們處理正態分布時,分位數在統計中起著非常重要的作用。

在上圖中,Q2是個median正態分布的數據。Q3 - Q2表示給定數據集的分位數範圍。

參數:
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.

代碼1:

# Python Program illustrating  
# numpy.nanquantile() method   
import numpy as np  
      
# 1D array  
arr = [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)) 

輸出:

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


代碼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, 19],  
       [23, 2, np.nan, 1, 4, ]]  
print("\narr:\n", arr)  
      
# quantile of the flattened array  
print("\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)) 

輸出:

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


代碼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("\narr:\n", arr)  
          
# quantile along the axis = 0  
print("\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 = 1  
print("\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)) 

輸出:

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.]]


相關用法


注:本文由純淨天空篩選整理自Mohit Gupta_OMG 大神的英文原創作品 numpy.nanquantile() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。