2010-08-17 6 views
19

comment pourrait-on trouver la valeur minimale dans un tableau de 100 flottants en python? J'ai essayé minindex=darr.argmin() et print darr[minindex] avec import numpy (Darr est le nom du tableau)trouver une valeur minimale dans un tableau de flottants

mais je reçois: minindex=darr.argmin()

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

ce qui pourrait être le problème? Y a-t-il une meilleure alternative?

merci à l'avance

+0

les deux répondeurs merci, mais ne pas utiliser numpy semblait mieux. – pjehyun

Répondre

19

Si vous souhaitez utiliser numpy, vous devez définir darr être un tableau numpy, pas list:

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

darr.argmin() vous donnera l'indice correspondant au minimum.

La raison pour laquelle vous receviez une erreur est que argmin est une méthode comprise par des tableaux numériques, mais pas par Python lists.

+0

'np.amin (darr)' accepte les listes – endolith

+2

Vrai, mais sous le capot 'np.amin (darr)' finit par appeler 'np.asarray (darr) .min()', et est environ 50% plus lent en raison de code supplémentaire '__array_wrap__'. – unutbu

Questions connexes