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.