Spec-Zone.ru › NumPy 1.20

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 or int or tuple of ints, optional

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

Добавлена в версии 1.15.0.

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

outarray_like

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

keepdimsbool, optional

Если установлено в 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ptp.html

Spec-Zone.ru

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