Функция maximum
Функция maximum сравнивает два массива поэлементно и возвращает новый массив, содержащий максимальное значение из каждой пары элементов. Первым и вторым параметрами передаются сравниваемые массивы. Поддерживается механизм широковещания, поэтому массивы могут иметь разную форму. Если один из аргументов является скаляром, он сравнивается с каждым элементом массива. Функция игнорирует значения NaN и возвращает NaN только если оба сравниваемых элемента являются NaN.
Синтаксис
np.maximum(x1, x2, [out], [where])
Основными параметрами являются сравниваемые массивы x1 и x2. Необязательный параметр out задает массив для записи результата, а where позволяет указать условие, при котором выполняется операция.
Пример
Сравним два одномерных массива одинаковой длины:
import numpy as np
arr1 = np.array([1, 5, 3, 8, 2])
arr2 = np.array([4, 2, 6, 7, 3])
res = np.maximum(arr1, arr2)
print(res)
Результат выполнения кода:
[4 5 6 8 3]
В каждой позиции выбирается наибольшее число: из пары (1, 4) выбирается 4, из (5, 2) - 5, из (3, 6) - 6, из (8, 7) - 8 и из (2, 3) - 3.
Пример
Сравним массив со скалярным значением:
import numpy as np
arr = np.array([2, 5, 1, 8, 4])
res = np.maximum(arr, 5)
print(res)
Результат выполнения кода:
[5 5 5 8 5]
Каждый элемент массива сравнивается с числом 5, и в результат записывается большее значение.
Пример
Сравним двумерные массивы с использованием широковещания:
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([10, 20, 30])
res = np.maximum(arr1, arr2)
print(res)
Результат выполнения кода:
[[10 20 30]
[10 20 30]]
Второй массив расширяется до формы первого, после чего сравнивается каждый элемент: для первой строки (1, 10) -> 10, (2, 20) -> 20, (3, 30) -> 30; для второй строки аналогично.
Пример
Используем параметр out для сохранения результата в заранее созданный массив:
import numpy as np
arr1 = np.array([7, 2, 9, 4])
arr2 = np.array([3, 8, 5, 6])
out_arr = np.empty(4, dtype=int)
np.maximum(arr1, arr2, out=out_arr)
print(out_arr)
Результат выполнения кода:
[7 8 9 6]
Результат операции записывается в массив out_arr, который должен иметь подходящую форму и тип данных.