Spec-Zone.ru › NumPy 1.21

numpy.ptp

numpy.ptp(a, axis=None, out=None, keepdims=<no value>)[source]

Диапазон значений (максимум - минимум) вдоль оси.

Имя функции происходит от аббревиатуры «пик-в-пик».

Предупреждение

ptp сохраняет тип данных массива. Это означает, что возвращаемое значение для входного значения со знаком целых чисел с n битами (например, np.int8, np.int16, и т.д.) также является целым числом со знаком с n битами. В этом случае значения «пик-в-пик», превышающие 2**(n-1)-1, будут возвращаться как отрицательные значения. Пример с обходным решением показан ниже.

Параметры
aarray_like

Входные значения.

axisNone или int или кортеж из целых чисел, необязательно

Ось, по которой необходимо найти пики. По умолчанию массив сглаживается. axis может быть отрицательным, в этом случае он считает с последней до первой оси.

Введено в версии 1.15.0.

Если это кортеж целых чисел, то выполняется сокращение по нескольким осям, а не по одной оси или всем осям, как раньше.

outarray_like

Альтернативный массив вывода, в который следует поместить результат. Он должен иметь ту же форму и длину буфера, что и ожидаемый результат, но тип значений вывода будет преобразован, если это необходимо.

keepdimsbool, необязательно

Если это установлено в True, оси, которые были сокращены, остаются в результате как размерности с размером один. С этим параметром результат будет правильно транслироваться относительно входного массива.

Если передано значение по умолчанию, то keepdims не будет передано в метод ptp подклассов ndarray, однако любое значение, отличное от значения по умолчанию, будет. Если метод подкласса не реализует keepdims, будут подняты исключения.

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

Новый массив, содержащий результат, если out не был задан, в противном случае возвращается ссылка на out.

Примеры

>>> x = np.array([[4, 9, 2, 10],
...               [6, 9, 7, 12]])
>>> np.ptp(x, axis=1)
array([8, 6])
>>> np.ptp(x, axis=0)
array([2, 0, 5, 2])
>>> np.ptp(x)
10

Этот пример показывает, что отрицательное значение может быть возвращено, когда входной массив представляет собой набор целых чисел со знаком.

>>> y = np.array([[1, 127],
...               [0, 127],
...               [-1, 127],
...               [-2, 127]], dtype=np.int8)
>>> np.ptp(y, axis=1)
array([ 126,  127, -128, -127], dtype=int8)

Обходным решением является использование метода view() для просмотра результата как целых чисел без знака с той же шириной разряда:

>>> np.ptp(y, axis=1).view(np.uint8)
array([126, 127, 128, 129], dtype=uint8)

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.ptp.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API