найти минимальное значение в массиве с плавающей точкой - PullRequest
27 голосов
/ 17 августа 2010

как можно найти минимальное значение в массиве из 100 чисел с плавающей запятой в python?Я пробовал minindex=darr.argmin() и print darr[minindex] с import numpy (даррр - имя массива)

, но я получаю: minindex=darr.argmin()

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

в чем может быть проблема?есть ли лучшая альтернатива?

заранее спасибо

Ответы [ 3 ]

59 голосов
/ 17 августа 2010

Python имеет min() встроенную функцию :

>>> darr = [1, 3.14159, 1e100, -2.71828]
>>> min(darr)
-2.71828
23 голосов
/ 17 августа 2010

Если вы хотите использовать 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 голосов
/ 22 сентября 2018

Вам нужно перебрать 2d массив, чтобы получить минимальное значение каждой строки, затем вы должны переместить любое полученное минимальное значение в другой массив, и, наконец, вам нужно получить минимальное значение массива, где каждое минимальное значение строкитолкнул

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...