NumPy clip(): Ограничьте значения массива минимальным и максимальным значениями
Массивы NumPy являются неотъемлемой частью большинства рабочих процессов анализа данных и науки о данных. Вам может потребоваться ограничить массивы так, чтобы они содержали значения только в определенном минимальном и максимальном диапазоне – именно это и позволяет сделать функция NumPy clip
. В этом учебном пособии вы узнаете, как ограничить значения массива NumPy с помощью функции .clip()
. Функция позволяет перезаписать любые выбросы значения.
К концу этого урока вы научитесь:
Как работает функция NumPy
.clip()
Как использовать функцию клипа NumPy для ограничения минимального и максимального значений
Как обрезать массивы NumPy на месте
Оглавление
Понимание функции клипа NumPy
Что делает функция NumPy clip()
?
Функция clip() в NumPy позволяет ограничить значения в массиве. Это дает возможность установить нижний и/или верхний предел для значений массива. Любое значение, выходящее за пределы установленного интервала, будет приведено к его границам.
Прежде чем перейти к тому, как использовать функцию .clip()
в NumPy, давайте рассмотрим структуру этой функции. Важно понимать, какие параметры доступны и какие аргументы заданы по умолчанию.
Метод .clip()
применяется к массиву и обрезает его значения до указанных минимального (a_min
) и максимального (a_max
). Если какое-либо значение в массиве меньше a_min
, оно заменяется на a_min
, а если больше a_max
, то на a_max
.
Метод .clip()
возвращает массив с обрезанными значениями.
Мы видим, что метод имеет четыре параметра, из которых два обязательны. В таблице ниже представлено описание параметров метода clip библиотеки NumPy:
a=
Массив, содержащий элементы для обрезки
N/A
array-like
a_min=
Минимальное значение. Может быть None
, если a_max
не имеет значения None
None
array-like or None
a_max=
Максимальное значение. Может быть None
, если a_min
не None
None
array-like or None
out=
Выходной массив.
None
ndarray
В следующем разделе вы узнаете, как ограничить значения массива NumPy нижней границей.
Ограничение минимальных значений массива NumPy
В этом разделе вы научитесь ограничивать значения массива NumPy, устанавливая минимальное значение. Это позволит обрезать другие значения и возвращать минимальную границу для любого значения, которое ниже этого значения. Давайте создадим массив, содержащий значения от 0 до 10, и обрежем любые значения ниже 3:
Этот код обрезает значения в массиве arr
так, чтобы они не были меньше 3, используя метод .clip()
с параметром a_min=3
.
Давайте разберем, что мы сделали в приведенном выше коде:
Мы импортировали NumPy, используя псевдоним
Мы создали массив с помощью функции
arange()
, охватывающий значения от 0 до 10.Мы создали новый массив, заменив все значения меньше 3 на 3.
Функция clip()
в NumPy требует, чтобы хотя бы один из аргументов a_min
или a_max
не был None
. В следующем разделе вы научитесь ограничивать массив с использованием максимальных значений.
Ограничение максимальных значений массива NumPy
Аналогично, вы можете обрезать массив NumPy, установив значение для параметра a_max=
. Когда этот параметр установлен, вы можете установить параметр a_min=
в значение None
, что означает отсутствие нижней границы. Давайте используем тот же массив, содержащий значения от 0 до 10, и обрежем любые значения выше 7.
Этот код обрезает значения в массиве arr
так, чтобы они не были больше или равны 7, используя метод .clip()
с параметром a_max=7
.
В указанном выше блоке кода мы использовали максимальное значение ограничения, равное 7. Это означает, что любое значение, превышающее 7, будет заменено на 7.
Ограничение минимального и максимального значений массива NumPy
Функция clip()
в NumPy позволяет задать как нижние, так и верхние границы для обрезки значений, что дает возможность удалить экстремальные значения из массива. Это можно сделать, передав значения в параметры a_min
и a_max.
Давайте посмотрим, как мы можем заменить значения меньше 3 и больше 7 на их соответствующие границы.
Этот код обрезает значения в массиве arr
так, чтобы они находились в диапазоне от 3 до 7, используя метод .clip()
с параметрами a_min=3
и a_max=7
.
В представленном выше блоке кода мы задали как нижнюю, так и верхнюю границу для обрезки значений. Это привело к обрезке значений на обоих концах массива.
Обрезка массивов NumPy на месте
В этом заключительном разделе вы узнаете, как обрезать массивы NumPy на месте. В предыдущих разделах мы обрезали массивы, присваивая их новой переменной. Однако мы также можем использовать параметр out=
, чтобы указать, к какому массиву должен быть присвоен наш обрезанный массив.
Чтобы обрезать массив NumPy на месте, вы можете просто указать параметр out=
как сам массив. Это означает, что вам не нужно переназначать массив другой переменной.
Этот код обрезает значения в массиве arr
так, чтобы они находились в диапазоне от 3 до 7, непосредственно изменяя сам массив arr
, с использованием метода .clip()
с параметрами a_min=3
, a_max=7
и out=arr
.
В приведенном выше блоке кода мы передали массив arr
в параметр out=
. Также обратите внимание, что мы не присваивали результат другой переменной напрямую. Это позволяет нам обрезать массив NumPy на месте.
Заключение
В этом уроке вы научились использовать метод clip библиотеки NumPy для ограничения значений в массиве NumPy заданными минимальными и максимальными пределами. Сначала вы узнали о разных параметрах и аргументах по умолчанию функции np.clip()
. Затем вы научились устанавливать нижний и верхний пределы массива. Наконец, вы научились обрезать массив NumPy на месте.
Дополнительные ресурсы
Чтобы узнать больше о смежных темах, ознакомьтесь с нижеперечисленными руководствами:
Last updated