numpy.clip()

Функция numpy.clip() ограничивает значения массива заданным интервалом [a_min, a_max]: всё, что меньше a_min, заменяется на a_min; больше a_max — на a_max.

Сигнатура

numpy.clip(a, a_min, a_max, out=None, **kwargs)

Параметры

  • a — входной массив.

  • a_min — нижняя граница. Можно None (не ограничивать снизу).

  • a_max — верхняя граница. Можно None.

  • out — массив для записи результата.

Возвращаемое значение

ndarray со значениями, попавшими в [a_min, a_max].

Примеры

Пример 1. Ограничение в ``[0, 5]``.

import numpy as np

arr = np.array([-3, 0, 2, 6, 10])
print(np.clip(arr, 0, 5))
[0 0 2 5 5]

Пример 2. Только верхняя граница.

arr = np.array([1, 50, 100, 200])
print(np.clip(arr, None, 100))
[  1  50 100 100]

Пример 3. Векторные границы.

arr = np.array([1, 5, 10, 20])
lo = np.array([2, 2, 8, 25])
hi = np.array([4, 6, 15, 30])
print(np.clip(arr, lo, hi))
[ 2  5 10 25]

Пример 4. Ограничение ШИМ-сигнала диапазоном 0–255.

pwm = np.array([-10, 50, 200, 300])
safe = np.clip(pwm, 0, 255)
print(safe)
[  0  50 200 255]

Пример 5. Запись на место через out.

arr = np.array([1.0, 2.5, 5.0, 7.5, 10.0])
np.clip(arr, 2, 8, out=arr)
print(arr)
[2.  2.5 5.  7.5 8. ]

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.