it-swarm.com.de

finden Sie einen Mindestwert in einem Array von Floats

wie würde man vorgehen, um den Mindestwert in einem Array von 100 Floats in Python zu finden? Ich habe minindex=darr.argmin() und print darr[minindex] mit import numpy ausprobiert (darr ist der Name des Arrays)

aber ich bekomme: minindex=darr.argmin()

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

was könnte das problem sein Gibt es eine bessere Alternative?

danke im Voraus

24
pjehyun

Python hat eine min() integrierte Funktion :

>>> darr = [1, 3.14159, 1e100, -2.71828]
>>> min(darr)
-2.71828
54
Greg Hewgill

Wenn Sie numpy verwenden möchten, müssen Sie darr als numpy-Array definieren, nicht als list:

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

darr.argmin() gibt Ihnen den Index, der dem Minimum entspricht.

Der Grund, warum Sie einen Fehler erhalten haben, ist, dass argmin eine Methode ist, die von numpy-Arrays verstanden wird, nicht jedoch von Python lists.

21
unutbu

Sie müssen das 2d-Array iterieren, um den min-Wert jeder Zeile zu erhalten. Dann müssen Sie jeden erhaltenen min-Wert in ein anderes Array verschieben, und schließlich müssen Sie den min-Wert des Arrays abrufen, in den alle min-Zeilenwerte gedrückt wurden

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)
0
Pedro Machado