Рубрики
Без рубрики

Numpy Clip | Как использовать функцию np.clip() в Python

Numpy clip () – это существенная функция, доступная в модуле numpy, которая используется для установки предела минимального и максимального интервала в массиве.

Автор оригинала: Team Python Pool.

Numpy Clip также можно определить как обрезку или обрезку массива numpy с определенным интервалом. Вы можете связать это с методами округления в математике, которые состоят из значений floor и ceiling . Вы можете узнать больше о методах округления Python в нашем разделе учебников.

Что numpy.clip делает в Python

Основная цель функции numpy clip-ограничить верхнее и нижнее значения. И если нижнее или верхнее значение превышает там очерченный предел, округляя значение до максимально определенного интервала или интервала. Давайте посмотрим на это на примере непрофессионала.

Например: Если интервал [2, 5] определен, то все значения ниже двух становятся 2, а все значения выше 5 становятся 5.

Это эквивалентно комбинации np.minimum() и np.maximum (), но более точно и быстрее, чем они.

np.minimum(a_max, np.maximum(a, a_min))

Синтаксис клипа Numpy

numpy.clip(a, a_min, a_max,)

Параметры

Параметр Обязательно или Нет
a Обязательный
a_min Обязательный
a_max Не обязательно
из Не обязательно
  • a: [arrayLike]Он состоит из массива, содержащего элементы для обрезки.
  • a_min: [scalar or array_like or None]Нижнее значение определенного интервала. Если a_min равно None, отсечение на нижнем краю интервала не выполняется. Не более одного из a_min и a_max может быть None.
  • a_max: [scalar or array_like or None]Нижнее значение определенного интервала. Если a_max равно None, отсечение на верхнем краю интервала не выполняется. Не более одного из a_min и a_max может быть None.
  • out: [ndarray, необязательно]Результаты будут помещены в этот массив. Этот параметр позволяет избежать ненужных назначений, что дает небольшой выигрыш в скорости. Выход должен быть правильной формы, чтобы удержать результат. Его тип сохранился.

Возвращаемое значение клипа Numpy

Функция Numpy Clip возвращает clipped array в качестве возвращаемого значения.

Массив с элементами a, но где значения < a_min заменяются на a_min, и что> a_max с a_max.Примечание: Если a_min или a_max array_like, то три массива будут транслироваться в соответствии с их формами.

Примеры функции Numpy Clip

Давайте рассмотрим примеры функции Numpy clip() и посмотрим, как она работает.

Пример 1: Использование функции np.arange() для генерации массива

import numpy as np.arange(15)
print ("The input array : ", a) .clip(a, 2, 13)
print("The clipped array:", out)

Выход:

The input array :  [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]
The clipped array: [ 2  2  2  3  4  5  6  7  8  9 10 11 12 13 13]

Объяснение

В приведенном выше примере мы сначала импортировали модуль numpy как np с помощью ключевого слова import. После этого мы использовали np.arrange (), чтобы получить массив чисел из [0-14]. Если вы не знаете, что такое np.arrangement, то позвольте мне объяснить вам это. Таким образом, numpy arange () – это одна из процедур создания массивов, основанных на числовых диапазонах. Он создает экземпляр ndarray с равномерно расположенными значениями и возвращает ссылку на него.

После создания массива с помощью функции np.arrange() мы напечатали его, чтобы проверить, какой будет наша входная строка. Теперь наступает важная часть, которая полностью связана с функцией Python Clip. Итак, мы использовали функцию np.clip() для ограничения нижнего и верхнего интервалов.

Здесь, в нашем примере, мы использовали три обязательных параметра: array, a_min и a_max. a-это входной массив, который мы сгенерировали с помощью функции numpy.arrange (), и. Итак, теперь нижний предел будет равен “2”, а верхний – “13”. Все цифры, значение которых меньше 2, будут обрезаны до 2, а элемент, значение которого будет больше 13, будет обрезан до 13.

Пример 2: применение клипа numpy к определяемому пользователем массиву

import numpy as np 

a = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21] 
print ("Input array : ",a) 
.clip(a,,) 
print ("Array after clipping : ", out)

Выход:

Input array          :  [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]
Array after clipping :  [ 4  4  5  7  9 11 12 12 12 12 12]

Объяснение:

Итак, в этом примере вместо использования функции numpy.arange() мы использовали наш пользовательский или предопределенный массив. Все в этом примере похоже, за исключением двух вещей. (i) мы использовали заранее определенный массив. (ii) Если вы посмотрите внимательно, то мы использовали значение и, но их нет во входном массиве. Но numpy.clip () – это умная функция, и она автоматически решает внутри своего алгоритма обрезать в соответствии с нижним и верхним пределами.

Пример 3: Когда Нижний предел клипа numpy представляет собой массив

import numpy as np 

in_array = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21] 
print ("Input array : ", in_array) 
.clip(in_array, a_min =[3, 2, 5, 5, 1, 9, 4, 5, 6, 2, 3],) 
print ("Output array : ", out_array)

Выход:

Input array :  [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]
Output array :  [3 3 5 7 9 9 9 9 9 9 9]

Объяснение:

Пример 3, вместо использования числового значения в качестве значения a_mind, мы использовали предопределенный массив. Так что здесь будет происходить для каждого значения во входном массиве; a_min будет проверять его параллельно. Например, первое значение входного массива ‘1’ будет сопоставлено с параллельным значением в a_min, которое является ‘3’. В этом случае ‘1’ меньше, чем ‘3’. Таким образом, значение входного элемента массива будет обрезано до ‘3’. Этот подход будет соблюдаться до тех пор, пока мы не разрежем последний элемент массива с помощью функции numpy clip ().

Пример 4: Когда Верхний Предел Клипа Numpy Представляет Собой Массив

import numpy as np 

in_array = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21] 
print ("Input array : ", in_array) 
.clip(in_array,, a_max = [7, 5, 11, 9, 13, 20, 4, 9, 16, 8, 10]) 
print ("Output array : ", out_array)

Выход:

Input array :  [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]
Output array :  [ 3  3  5  7  9 11  4  9 16  8 10]

Объяснение:

Этот пример является обратным примеру 4. В этом примере вместо a_min мы строим a_max как заранее определенный массив.

Пример 5: Когда и нижний Предел, и верхний предел Клипа Numpy являются Массивом

import numpy as np 

in_array = [1, 3, 5, 7, 9] 
print ("Input array : ", in_array) 
.clip(in_array, a_min = [2,2,2,2,2], a_max = [7, 5, 11, 9, 13]) 
print ("Output array : ", out_array)

Выход:

Input array :  [1, 3, 5, 7, 9]
Output array :  [2 3 5 7 9]

Объяснение

Это уникальный пример. Здесь мы сделали все три (input_array, a_min, a_max)в виде заранее определенного массива. Входной массив должен будет проверять ограничение интервала для каждого элемента массива параллельно. Другие вещи будут идти аналогично примеру 3 и 4. Вы можете сказать, что это конкатенация примеров 3 и 4.

Numpy Клип для 2D массива

Numpy Clip также может быть применен к N-мерному массиву. Особенно для 2D-массивов, которые могут быть важны для хранения значений пикселей изображения, отсечение может помочь вам устранить мусорные значения. В основном клип проходит через все вложенные массивы, а союзники клипируют к каждому из них. Следующий пример может помочь вам понять это –

Код –

import numpy as np
.array([[1, 20], [40, 8]],np.uint16).clip(6,10)
print(arr)

Выход –

[[ 6 10]
 [10  8]]

Объяснение –

Во – первых, мы начинаем с импорта модуля Numpy. Затем мы объявляем 2D массив numpy с различными значениями. Когда вызывается arr.clip(6, 10), он усекает значения всех элементов внутри массива до нижнего и верхнего пределов. В нашем случае это будет между 6 и 10 (оба включены).

Что произойдет, если форма входного массива и форма Нижнего предела (a_min)или Верхнего предела (a_max) Массивы бывают разные

Если форма входного массива и любого из верхних пределов отсечения или нижних пределов отсечения массивов отличаются, то мы получим ошибку значения.

Например

import numpy as np 

in_array = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21] 
print ("Input array : ", in_array) 
.clip(in_array, a_min =[3, 2, 5, 5, 1, 9],) 
print ("Output array : ", out_array)

Выход:

ValueError: operands could not be broadcast together with shapes (11,) (6,)

Итак, здесь мы получаем ошибку значения, так как форма входного массива равна 11, а форма a_min равна 6. Поэтому мы должны иметь в виду, что форма массивов должна быть одинаковой, чтобы избежать любой ошибки значения в функции numpy clip.

Что дальше?

NumPy очень мощен и невероятно важен для информатики в Python. Это правда, если вы интересуетесь наукой о данных в Python, вам действительно следует узнать больше о Python.

Возможно, вам понравятся наши следующие учебники по numpy.

  • Numpy Mean: Реализация и важность
  • Использование функции Numpy Random для создания случайных данных
  • NumPy Reshape: Изменение Формы Массивов С Легкостью
  • Углубленное объяснение np.power() С Примерами

Ссылка:

< href=”http://numpy.org/doc/stable/reference/generated/numpy.clip.html”>Официальная документация href=”http://numpy.org/doc/stable/reference/generated/numpy.clip.html”>Официальная документация

Вывод

numpy clip() – это убедительная и важная функция, доступная в модуле numpy, которая может быть очень полезна и настоятельно рекомендована многими экспертами при обрезке больших наборов данных.

Если у вас все еще есть какие-либо вопросы относительно функции NumPy clip?

Оставьте свой вопрос в комментариях ниже.

<Счастливого Пифонирования!