Spec-Zone.ru › NumPy 2.0

numpy.ptp

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

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

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

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

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

Параметры:
aarray_like

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

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

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

В версии 1.15.0.

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

outarray_like

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

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

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

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

Возвращаемые значения:
ptpndarray или скаляр

Диапазон заданного массива — scalar если массив одномерный или новый массив, содержащий результат вдоль заданной оси

Примеры

>>> 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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ptp.html

Spec-Zone.ru

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