Функция ptp
Функция ptp вычисляет размах значений (peak-to-peak) массива,
то есть разность между максимальным и минимальным элементами.
По умолчанию размах вычисляется для всего массива,
но можно указать ось, вдоль которой будет производиться вычисление.
Функция возвращает скалярное значение или массив значений размаха.
Синтаксис
np.ptp(a, axis=None, out=None, keepdims=False)
Параметр a задаёт входной массив.
Параметр axis определяет ось, вдоль которой вычисляется размах.
Значение None (по умолчанию) означает вычисление размаха для всего массива.
Параметр out позволяет задать массив для сохранения результата.
Параметр keepdims определяет, нужно ли сохранять размерность исходного массива.
Пример
Давайте вычислим размах значений одномерного массива:
import numpy as np
arr = np.array([2, 5, 8, 1, 4])
res = np.ptp(arr)
print(res)
Результат выполнения кода:
7
Размах равен разности между максимальным значением (8) и минимальным (1).
Пример
Вычислим размах значений двумерного массива по строкам (ось 0):
import numpy as np
arr = np.array([[10, 20, 30],
[40, 50, 60]])
res = np.ptp(arr, axis=0)
print(res)
Результат выполнения кода:
[30 30 30]
Для каждого столбца вычисляется разница между максимальным и минимальным значением по строкам.
Пример
Вычислим размах значений двумерного массива по столбцам (ось 1):
import numpy as np
arr = np.array([[10, 20, 30],
[40, 50, 60]])
res = np.ptp(arr, axis=1)
print(res)
Результат выполнения кода:
[20 20]
Для каждой строки вычисляется разница между максимальным и минимальным значением по столбцам.
Пример
Используем параметр keepdims для сохранения размерности:
import numpy as np
arr = np.array([[1, 2, 3],
[4, 5, 6]])
res = np.ptp(arr, axis=1, keepdims=True)
print(res)
Результат выполнения кода:
[[2]
[2]]
Размерность результата сохраняется, что удобно для дальнейших вычислений с сохранением формы данных.