РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
200 of 687 menu

Метод diff

Метод diff применяется к Series и вычисляет дискретную разность между элементами. Параметр periods задаёт количество шагов для вычисления разности. По умолчанию вычисляется разность с предыдущим элементом (periods=1). Первый элемент всегда принимает значение NaN, так как для него нет предыдущего значения.

Синтаксис

ser.diff([periods])

Метод принимает один необязательный параметр:

  • periods - количество шагов для вычисления разности. Может быть положительным или отрицательным числом. По умолчанию равен 1. Если указать положительное значение, разность считается от текущего элемента к предыдущему. Отрицательное значение меняет направление.

Пример

Создадим Series и вычислим разность между соседними элементами:

import pandas as pd ser = pd.Series([1, 3, 5, 10, 20]) res = ser.diff() print(res)

Результат выполнения кода:

0 NaN 1 2.0 2 2.0 3 5.0 4 10.0 dtype: float64

Пример

Изменим количество шагов для вычисления разности:

import pandas as pd ser = pd.Series([1, 3, 5, 10, 20]) res = ser.diff(periods=2) print(res)

Результат выполнения кода:

0 NaN 1 NaN 2 4.0 3 7.0 4 15.0 dtype: float64

В этом случае разность вычисляется с элементом, находящимся на два шага назад.

Пример

Укажем отрицательное значение параметра periods для вычисления разности с последующими элементами:

import pandas as pd ser = pd.Series([1, 3, 5, 10, 20]) res = ser.diff(periods=-1) print(res)

Результат выполнения кода:

0 -2.0 1 -2.0 2 -5.0 3 -10.0 4 NaN dtype: float64

Теперь последний элемент принимает значение NaN, так как для него нет следующего элемента.

Пример

Применим метод к Series с текстовыми данными:

import pandas as pd ser = pd.Series(['a', 'c', 'e', 'g']) res = ser.diff() print(res)

Результат выполнения кода:

0 NaN 1 c 2 e 3 g dtype: object

Для строковых данных метод возвращает разность в виде самих элементов, так как операция вычитания для строк не определена.

Смотрите также

  • метод pct_change,
    который вычисляет процентное изменение между элементами
  • метод shift,
    который сдвигает элементы Series
  • метод cumsum,
    который вычисляет кумулятивную сумму элементов
  • метод rank,
    который вычисляет ранги элементов Series
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить