numpy.diff()
Функция numpy.diff() вычисляет разности между соседними элементами массива вдоль заданной оси. Часто используется для оценки дискретной производной сигнала.
Сигнатура
numpy.diff(a, n=1, axis=-1, prepend=<no value>, append=<no value>)
Параметры
a— входной массив.n— порядок разности (сколько раз применить операцию).axis— ось вычислений (по умолчанию последняя).prepend,append— значения для добавления в начало/конец перед вычислением (полезно для сохранения длины).
Возвращаемое значение
ndarray — массив разностей. Длина по оси уменьшается на n (без prepend/append).
Примеры
Пример 1. Разности 1D-массива.
import numpy as np
a = np.array([1, 3, 6, 10, 15])
print(np.diff(a))
[2 3 4 5]
Пример 2. Вторая разность.
a = np.array([1, 3, 6, 10, 15])
print(np.diff(a, n=2))
[1 1 1]
Пример 3. Разность по столбцам матрицы.
m = np.array([[1, 2, 4], [3, 5, 9]])
print(np.diff(m, axis=0))
[[2 3 5]]
Пример 4. Скорость по показаниям одометра.
# Положение робота каждую секунду, см
pos = np.array([0, 5, 11, 18, 26])
speed = np.diff(pos)
print("Скорость, см/с:", speed)
Скорость, см/с: [5 6 7 8]
Пример 5. Сохранение длины через prepend.
t = np.array([20.1, 20.3, 20.7, 21.0])
dT = np.diff(t, prepend=t[0])
print(dT)
[0. 0.2 0.4 0.3]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.