如何在 python 的 100 个浮点数的数组中找到最小值?我已经尝试过minindex=darr.argmin()
(print darr[minindex]
darrimport numpy
是数组的名称)
但我得到:
minindex=darr.argmin()
AttributeError: 'list' object has no attribute 'argmin'
可能是什么问题?有更好的选择吗?
提前致谢
Python有一个min()
内置函数:
>>> darr = [1, 3.14159, 1e100, -2.71828]
>>> min(darr)
-2.71828
如果要使用 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
。
您需要迭代二维数组以获得每行的最小值,然后您必须将任何获得的最小值推送到另一个数组,最后您需要获取每个最小值行值被推送的数组的最小值
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)
如果数组中有最小值,您可以尝试:
>>> mydict = {"a": -1.5, "b": -1000.44, "c": -3}
>>> min(mydict.values())
-1000.44