Python中的 numpy.nanargmin()
numpy.nanargmin()函数返回忽略 NaN 的特定轴中数组的最小元素的索引。
如果切片仅包含 NaN 和 Inf,则结果不可信。
句法:
numpy.nanargmin(array, axis = None)
参数 :
array : Input array to work on
axis : [int, optional]Along a specified axis like 0 or 1
返回 :
Array of indices into the array with same shape as array.shape.
with the dimension along axis removed.
代码 1:
Python
# Python Program illustrating
# working of nanargmin()
import numpy as geek
# Working on 1D array
array = [geek.nan, 4, 2, 3, 1]
print("INPUT ARRAY 1 : \n", array)
array2 = geek.array([[geek.nan, 4], [1, 3]])
# returning Indices of the min element
# as per the indices ingnoring NaN
print("\nIndices of min in array1 : ",
geek.nanargmin(array))
# Working on 2D array
print("\nINPUT ARRAY 2 : \n", array2)
print("\nIndices of min in array2 : ",
geek.nanargmin(array2))
print("\nIndices at axis 1 of array2 : ",
geek.nanargmin(array2, axis = 1))
Python
# Python Program illustrating
# working of nanargmin()
import numpy as geek
# Working on 2D array
array = ( [[ 8, 13, 5, 0],
[ geek.nan, geek.nan, 5, 3],
[10, 7, 15, 15],
[3, 11, 4, 12]])
print("INPUT ARRAY : \n", array)
# returning Indices of the min element
# as per the indices
'''
[[ 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("\nIndices of min using argmin : ",
geek.argmin(array, axis = 0))
print("\nIndices of min using nanargmin : : ",
geek.nanargmin(array, axis = 0))
输出 :
INPUT ARRAY 1 :
[nan, 4, 2, 3, 1]
Indices of min in array1 : 4
INPUT ARRAY 2 :
[[ nan 4.]
[ 1. 3.]]
Indices of min in array2 : 2
Indices at axis 1 of array2 : [1 0]
代码 2:比较 argmin 和 nanargmin 的工作
Python
# Python Program illustrating
# working of nanargmin()
import numpy as geek
# Working on 2D array
array = ( [[ 8, 13, 5, 0],
[ geek.nan, geek.nan, 5, 3],
[10, 7, 15, 15],
[3, 11, 4, 12]])
print("INPUT ARRAY : \n", array)
# returning Indices of the min element
# as per the indices
'''
[[ 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("\nIndices of min using argmin : ",
geek.argmin(array, axis = 0))
print("\nIndices of min using nanargmin : : ",
geek.nanargmin(array, axis = 0))
输出 :
INPUT ARRAY :
[[ 8 13 5 0]
[ 0 2 5 3]
[10 7 15 15]
[ 3 11 4 12]]
Indices of min element : [1 1 3 0]