34

如何在 python 的 100 个浮点数的数组中找到最小值?我已经尝试过minindex=darr.argmin()print darr[minindex]darrimport numpy是数组的名称)

但我得到: minindex=darr.argmin()

AttributeError: 'list' object has no attribute 'argmin'

可能是什么问题?有更好的选择吗?

提前致谢

4

4 回答 4

81

Python有一个min()内置函数

>>> darr = [1, 3.14159, 1e100, -2.71828]
>>> min(darr)
-2.71828
于 2010-08-17T03:03:48.113 回答
25

如果要使用 numpy,则必须定义darr为 numpy 数组,而不是list

import numpy as np
darr = np.array([1, 3.14159, 1e100, -2.71828])
print(darr.min())

darr.argmin()将为您提供与最小值对应的索引。

您收到错误的原因是因为argmin是 numpy 数组可以理解的方法,但 Python 不能lists

于 2010-08-17T03:08:29.847 回答
0

您需要迭代二维数组以获得每行的最小值,然后您必须将任何获得的最小值推送到另一个数组,最后您需要获取每个最小值行值被推送的数组的最小值

def get_min_value(self, table):
    min_values = []
    for i in range(0, len(table)):
        min_value = min(table[i])
        min_values.append(min_value)

    return min(min_values)
于 2018-09-21T21:51:21.480 回答
0

如果数组中有最小值,您可以尝试:

>>> mydict = {"a": -1.5, "b": -1000.44, "c": -3}
>>> min(mydict.values())
-1000.44
于 2020-06-09T17:02:23.017 回答