Чтобы понять функцию np.diff() в Python, важно понимать, что она вычисляет разницу между последовательными элементами массива. Настраивая его параметры, пользователи могут указать количество раз выполнения этой операции (n), ось, по которой рассчитываются различия (ось), а также, при необходимости, добавлять или добавлять значения.
Функция np.diff() в библиотеке Python NumPy вычисляет дискретную разницу между последовательными элементами массива. Входной массив вычисляет выходные данные как a[i+1] – a[i] для каждого элемента i, где i находится в пределах длины массива минус один.
- Синтаксис
- В возвращаемом значении NumPy
- Варианты использования
- 1. В базовом использовании
- 2. С параметром n
- 3. В многомерном массиве
- 4. С осью = 0
- 5. С осью = 1
- Заключение
Синтаксис
Основной синтаксис функции np.diff() в Python следующий:
numpy.diff(arr, n=1, axis=-1, prepend=, append=)
Здесь:
обр. | Входной массив в Python. Разности рассчитываются по этому массиву. |
n | (необязательно) Сколько раз выполнять дифференцирование в Python. Значение по умолчанию — 1. |
axis | (необязательно) Ось, по которой отсчитывается разница в массиве Python. По умолчанию это последняя ось. |
добавить в начало | (необязательно) Значение, которое нужно добавить к a вдоль указанной оси перед выполнением разницы в Python. |
добавить | (необязательно) Значение, которое нужно добавить к a вдоль указанной оси перед выполнением разницы в Python. |
В возвращаемом значении NumPy
Функция np.diff() в Python возвращает новый массив того же типа, что и a, за исключением вдоль указанной оси, где размерность меньше на n единиц. Возвращенный массив содержит вычисленные различия.
Варианты использования
Давайте рассмотрим различные варианты использования функции np.diff() в Python.
1. В базовом использовании
Вычисляет разницу между каждой парой последовательных элементов одномерного массива в Python. Например:
import numpy as np temperatures = np.array([58, 60, 62, 65, 63, 66, 68]) temperature_change = np.diff(temperatures) print(temperature_change)
Выход:
[ 2 2 3 -2 3 2]
Результат запуска кода в PyCharm визуально представлен на снимке экрана ниже.
2. С параметром n
Вычисляет разницу второго порядка, которая представляет собой разницу последовательных разностей в массиве в Python.
import numpy as np stock_prices = np.array([120, 125, 123, 130, 128]) price_change = np.diff(stock_prices, n=2) print(price_change)
Выход:
[-7 9 -9]
Ниже показан снимок экрана, на котором запечатлен результат выполнения кода в редакторе PyCharm.
3. В многомерном массиве
Находит разницу вдоль последней оси по умолчанию (ось=-1) в многомерном массиве в Python, эффективно выполняя операцию над каждым подмассивом.
import numpy as np rainfall = np.array([[0.1, 0.2, 0.0, 0.3], [0.3, 0.4, 0.5, 0.2], [0.0, 0.0, 0.1, 0.2]]) daily_change = np.diff(rainfall) print(daily_change)
Выход:
[[ 0.1 -0.2 0.3] [ 0.1 0.1 -0.3] [ 0. 0.1 0.1]]
На следующем снимке экрана показаны результаты, полученные при выполнении кода в редакторе PyCharm.
4. С осью = 0
Вычисляет разницу между элементами по вертикальной оси (по строкам) в многомерном массиве Python.
import numpy as np rainfall = np.array([[0.1, 0.2, 0.0, 0.3], [0.3, 0.4, 0.5, 0.2], [0.0, 0.0, 0.1, 0.2]]) city_change = np.diff(rainfall, axis=0) print(city_change)
Выход:
[[ 0.2 0.2 0.5 -0.1] [-0.3 -0.4 -0.4 0. ]]
После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.
5. С осью = 1
Вычисляет разницу между элементами по горизонтальной оси(по столбцам) в многомерном массиве в Python.
import numpy as np rainfall = np.array([[0.1, 0.2, 0.0, 0.3], [0.3, 0.4, 0.5, 0.2], [0.0, 0.0, 0.1, 0.2]]) city_change = np.diff(rainfall, axis=1) print(city_change)
Выход:
[[ 0.1 -0.2 0.3] [ 0.1 0.1 -0.3] [ 0. 0.1 0.1]]
После реализации кода в редакторе Pycharm снимок экрана указан ниже.
Заключение
Понимание функции np.diff() в Python, вычисляющей различия. А его гибкость с такими параметрами, как n и ось, делает его важной функцией для анализа данных, обработки сигналов и научных вычислений.