Функция fmin
Функция fmin сравнивает элементы двух массивов поэлементно и возвращает новый массив, содержащий минимальные значения из каждой пары. Если один из элементов является NaN, функция возвращает значение другого элемента, а не NaN. Это основное отличие от функции minimum, которая возвращает NaN, если хотя бы один из элементов равен NaN. Первым параметром передаётся массив x1, вторым - массив x2. Функция поддерживает вещание (broadcasting).
Синтаксис
np.fmin(x1, x2, out=None, where=True)
Параметры:
-
x1, x2- массивы или скалярные значения для сравнения; -
out- необязательный массив для сохранения результата; -
where- условие, определяющее, где вычислять минимум.
Пример
Сравним два одномерных массива чисел:
import numpy as np
arr1 = np.array([1, 5, 3, 8])
arr2 = np.array([4, 2, 7, 3])
res = np.fmin(arr1, arr2)
print(res)
Результат выполнения кода:
[1 2 3 3]
Пример
Обработка значений NaN. Функция fmin игнорирует NaN и возвращает числовое значение:
import numpy as np
arr1 = np.array([1, np.nan, 3, 8])
arr2 = np.array([4, 2, np.nan, 3])
res = np.fmin(arr1, arr2)
print(res)
Результат выполнения кода:
[1. 2. 3. 3.]
Для сравнения, функция minimum вернула бы NaN в позициях, где присутствует NaN.
Пример
Работа с многомерными массивами и вещанием. Скаляр сравнивается с каждым элементом массива:
import numpy as np
arr = np.array([[1, 8, 5], [4, 2, 9]])
res = np.fmin(arr, 5)
print(res)
Результат выполнения кода:
[[1 5 5]
[4 2 5]]
Пример
Использование аргумента out для сохранения результата в заранее созданный массив:
import numpy as np
arr1 = np.array([10, 20, 30])
arr2 = np.array([15, 5, 25])
out_arr = np.empty(3)
np.fmin(arr1, arr2, out=out_arr)
print(out_arr)
Результат выполнения кода:
[10. 5. 25.]