📜  Python中的numpy.nanargmin

📅  最后修改于: 2020-06-07 09:05:43             🧑  作者: Mango

numpy.nanargmin(array, axis = None) : 返回忽略NaN的特定轴中数组min元素的索引。如果切片仅包含NaN和Inf,则结果将不可信任。

参数:

array:要处理的输入数组
axis:[int,可选]沿指定的轴,如0或1

返回:

索引数组,数组的形状与array.shape相同, 移除沿轴的尺寸。

代码1:

# Python程序说明nanargmin()的工作
  
import numpy as geek  
  
# 处理一维阵列 
array = [geek.nan, 4, 2, 3, 1] 
print("输入数组1 : \n", array) 
  
array2 = geek.array([[geek.nan, 4], [1, 3]]) 
  
# 根据忽略NaN的索引返回min元素的索引 
print("\n数组1中的min索引 : ", geek.nanargmin(array)) 
  
# 处理二维阵列 
print("\n输入数组2 : \n", array2) 
print("\n数组2中的min索引 : ", geek.nanargmin(array2)) 
  
print("\narray2轴1处的索引 : ", geek.nanargmin(array2, axis = 1)) 

输出:

输入数组1:
 [nan,

4、2、3、1 ] 
数组1中的min索引:4 

输入数组2:
 [[nan 4。] 
 [1。3.]] 
数组2中的min索引:2 

array2轴1处的索引:[1 0]

代码2:比较argmin和nanargmin的工作

# nanargmin()的Python程序说明工作
  
import numpy as geek  
  
# 处理二维阵列 
array = ( [[ 8, 13, 5, 0], 
           [ geek.nan, geek.nan, 5, 3], 
           [10, 7, 15, 15], 
           [3, 11, 4, 12]]) 
print("INPUT ARRAY : \n", array) 
  
# 根据索引返回min元素的索引  
  
'''    
   [[ 8 13  5  0] 
   [ 0  2  5  3] 
   [10  7 15 15] 
   [ 3 11  4 12]] 
     ^  ^  ^  ^ 
     0  2  4  0  - element 
     1  1  3  0  - indices 
'''
  
print("\n输入数组 : ", geek.argmin(array, axis = 0)) 
print("\n最小元素的索引 :  : ", geek.nanargmin(array, axis = 0))

输出:

输入数组:
 [[8 13 5 0] 
 [0 2 5 3] 
 [10 7 15 15] 
 [3 11 4 12]] 

最小元素的索引:[1 1 3 0]