在浮点数组中找到最小值
如果你想在一个包含100个浮点数的数组中找到最小值,应该怎么做呢?我试过用 minindex=darr.argmin()
和 print darr[minindex]
,还用到了 import numpy
(darr是数组的名字)。
但是我得到了这个错误:
minindex=darr.argmin()
AttributeError: 'list' object has no attribute 'argmin'
这可能是什么问题呢?有没有更好的方法?
4 个回答
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)
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
(列表)是不认识这个方法的。
85
Python 有一个内置的函数叫做 min()
:
>>> darr = [1, 3.14159, 1e100, -2.71828]
>>> min(darr)
-2.71828