numpy.ptp()

Функция numpy.ptp() (peak-to-peak) возвращает разность между максимумом и минимумом массива. Эквивалент np.max(a) - np.min(a). Удобно оценивать амплитуду сигнала и диапазон значений.

Сигнатура

numpy.ptp(a, axis=None, out=None, keepdims=False)

Параметры

  • a — входной массив.

  • axis — ось вычисления.

  • out — массив для результата.

  • keepdims — сохранять размерность.

Возвращает

Скаляр или ndarray размахов.

Пример 1. Размах одномерного массива

import numpy as np

a = np.array([3, 7, 2, 9, 5])
print(np.ptp(a))
7

9 - 2 = 7.

Пример 2. Амплитуда звукового сигнала

import numpy as np

# Отсчёты микрофона 0..1023 (10-битный АЦП)
sound = np.array([512, 580, 720, 410, 612, 480])
amp = np.ptp(sound)
print(f"Амплитуда: {amp} отсчётов")
Амплитуда: 310 отсчётов

Пример 3. Размах по столбцам

import numpy as np

data = np.array([[1, 5,  9],
                 [3, 4, 11],
                 [2, 6,  8]])
print(np.ptp(data, axis=0))
[2 2 3]

Пример 4. Размах по строкам

import numpy as np

data = np.array([[1, 5,  9],
                 [3, 4, 11]])
print(np.ptp(data, axis=1))
[8 8]

Пример 5. Дрейф датчика температуры за час

import numpy as np

temps = np.array([22.1, 22.4, 22.7, 23.0, 22.8, 22.2])
drift = np.ptp(temps)
print(f"Дрейф: {drift:.2f}°C")
Дрейф: 0.90°C

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.