2010-08-17 36 views
19

如何找到在python中100個浮點數組中的最小值? 我試圖minindex=darr.argmin()print darr[minindex]import numpy(darr是數組名)在浮點數組中找到最小值

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

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

可能是什麼問題?有更好的選擇嗎?

在此先感謝

+0

兩位回答者都謝謝你,但是根本不使用numpy似乎更好。 – pjehyun 2010-08-17 03:22:17

回答

19

如果你想使用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

+0

'np.amin(darr)'接受列表 – endolith 2013-05-16 02:31:03

+2

沒錯,儘管在'np.amin(darr)'最後調用'np.asarray(darr).min()',並且由於額外的'__array_wrap__'代碼。 – unutbu 2013-05-16 03:11:04