代码试图从2D数组中找到最小值(测量距离)
dist1 = ma.sqrt(dist2**2+dist3**2)
minimum1 = dist1.min()
对于1D数组,我在检索最小位置时没有问题,但对于2D数组则没有问题。尝试:
imin1, jmin1 = ma.where(dist1 == dist1.min())
返回错误:ValueError: too many values to unpack (expected 2)
如果代码段更改为:
imin1 = ma.where(dist1 == dist1.min())
它返回一个元组,如(array([1238, 1238, 1238, ..., 1238, 1238, 1238]), array([ 0, 1, 2, ..., 3597, 3598, 3599]), array([0, 0, 0, ..., 0, 0, 0]))
是否有一个直接的方法来找到最小(或最大)值的列和行?
1条答案
按热度按时间nc1teljy1#
可以使用argmin()函数来查找numpy数组的最小索引(row/col)。此函数返回扁平数组的索引。要获取行和列,可以使用unravel_index():
要查找最大索引,可以使用argmax()。