在浮点数组中找到最小值

pje*_*yun 29 python arrays numpy minimum

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

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

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

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

提前致谢

Gre*_*ill 66

Python有一个min()内置函数:

>>> darr = [1, 3.14159, 1e100, -2.71828]
>>> min(darr)
-2.71828
Run Code Online (Sandbox Code Playgroud)


unu*_*tbu 23

如果你想使用numpy,你必须定义darr为一个numpy数组,而不是list:

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

darr.argmin() 会给你相应的最小指数.

你得到错误的原因是因为argminnumpy数组理解的方法,而不是Python lists.

  • 确实,虽然在引擎盖下`np.amin(darr)`最终调用`np.asarray(darr).min()`,并且由于额外的`__array_wrap__`代码而减慢约50%. (3认同)