Функция clip
Функция clip возвращает массив, в котором все элементы ограничены
заданным интервалом [a_min, a_max]. Значения, выходящие
за пределы этого диапазона, заменяются на соответствующие границы.
Параметр a_min задаёт минимальное допустимое значение, а a_max -
максимальное. Если какая-либо из границ не указана (None),
то соответствующее ограничение не применяется. Функция работает
с массивами любой размерности.
Синтаксис
np.clip(arr, a_min, a_max, out=None)
Пример
Ограничим значения одномерного массива диапазоном от 2 до 4:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.clip(arr, 2, 4)
print(res)
Результат выполнения кода:
[2 2 3 4 4]
Пример
Применим ограничение только снизу, оставив верхнюю границу открытой:
import numpy as np
arr = np.array([-5, -1, 0, 2, 8])
res = np.clip(arr, 0, None)
print(res)
Результат выполнения кода:
[0 0 0 2 8]
Пример
Ограничим значения двумерного массива диапазоном от 0 до 5:
import numpy as np
arr = np.array([[-2, 3, 8], [10, -5, 1]])
res = np.clip(arr, 0, 5)
print(res)
Результат выполнения кода:
[[0 3 5]
[5 0 1]]
Пример
Используем параметр out для сохранения результата в заранее созданный массив:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
out_arr = np.empty_like(arr)
np.clip(arr, 15, 35, out=out_arr)
print(out_arr)
Результат выполнения кода:
[15 20 30 35 35]