Чтобы понять функцию np.diff() в Python, важно понимать, что она вычисляет разницу между последовательными элементами массива. Настраивая его параметры, пользователи могут указать количество раз выполнения этой операции (n), ось, по которой рассчитываются различия (ось), а также, при необходимости, добавлять или добавлять значения.

Функция np.diff() в библиотеке Python NumPy вычисляет дискретную разницу между последовательными элементами массива. Входной массив вычисляет выходные данные как a[i+1] – a[i] для каждого элемента i, где i находится в пределах длины массива минус один.

Содержание

Синтаксис

Основной синтаксис функции 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.

С параметром n

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 результат можно увидеть на снимке экрана ниже.

С осью = 0

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 снимок экрана указан ниже.

С осью = 1

Заключение

Понимание функции np.diff() в Python, вычисляющей различия. А его гибкость с такими параметрами, как n и ось, делает его важной функцией для анализа данных, обработки сигналов и научных вычислений.

Добавить комментарий