📅  最后修改于: 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]