Numpy argmax()与argmin()最值查询
除了使用 where 进行数组查询以外,我们还可以使用 argmax() 与 argmin() 方法进行数组最值坐标查询。
1. argmax查询最大值坐标
argmax 方法用来获得行列里最大值的坐标,这里可以通过指定 axis 获得最大值所在的行。可以看到在数组 a 中,各个列的坐标的最大值都是在第 3 行。In [6]: np.argmax(a,axis=0) #按行获取最大值的坐标 Out[6]: array([3, 3, 3, 3], dtype=int64)同理,可以通过 argmax 方法获得每一行最大值所在的列。
In [7]: np.argmax(a, axis=1) #按列获取最大值的坐标 Out[7]: array([3, 3, 3, 3], dtype=int64)类似地,可以获得该数组最大值所在的位置,这样的操作其实是将数组先转换为一个序列,然后返回这个序列的下标。
In [8]: np.argmax(a, axis=None) # 整体获得最大值的坐标 Out[8]: 15
2. argmin查询最小值坐标
argmin 方法和 argmax 方法对应,用来获得最小值的下标,这里不再赘述。In [9]: np.argmin(a, axis=0) # 按行获得最小值的坐标 Out[9]: array([0, 0, 0, 0], dtype=int64) In [10]: np.argmin(a, axis=1) # 按列获得最小值的坐标 Out[10]: array([0, 0, 0, 0], dtype=int64) In [11]: np.argmin(a, axis=None) # 整体获得最小值的坐标 Out[11]: 0