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


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

用於計算沿指定軸ang的給定數據(數組元素)的第n個百分位數的numpy.nanpercentile()函數將忽略nan值。

用法:numpy.nanpercentile(arr, q, axis=None, out=None)
參數:
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.

返回:數組的百分位數(如果軸不存在,則為標量值)或具有沿指定軸的值的百分位數的數組。


代碼1:工作

# 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))

輸出:

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


代碼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)) 
  

輸出:

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

代碼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)) 

輸出:

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)


相關用法


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