Метод shift
Метод shift применяется к Series
и возвращает новую серию со значениями, сдвинутыми
вперёд или назад на указанное количество периодов.
Первый параметр periods задаёт число сдвигов:
положительное значение смещает элементы вниз
(к концу серии), отрицательное - вверх (к началу).
Второй параметр freq позволяет указать частоту
для сдвига по временной оси.
Синтаксис
ser.shift(periods=1, freq=None)
Пример
Давайте сдвинем элементы серии на одну позицию вниз:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.shift(1)
print(res)
Результат выполнения кода:
0 NaN
1 1.0
2 2.0
3 3.0
4 4.0
dtype: float64
Пример
Давайте сдвинем элементы на две позиции вверх (используем отрицательное значение):
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.shift(-2)
print(res)
Результат выполнения кода:
0 3.0
1 4.0
2 5.0
3 NaN
4 NaN
dtype: float64
Пример
Метод shift активно применяется для расчёта
разницы между текущим и предыдущим значениями.
Рассмотрим пример вычисления изменения:
import pandas as pd
ser = pd.Series([10, 20, 30, 40, 50])
shifted = ser.shift(1)
diff = ser - shifted
print(diff)
Результат выполнения кода:
0 NaN
1 10.0
2 10.0
3 10.0
4 10.0
dtype: float64
Смотрите также
-
метод
diff,
который вычисляет разницу между элементами -
метод
pct_change,
который считает процентное изменение между элементами -
метод
cumsum,
который возвращает кумулятивную сумму элементов -
метод
rolling,
который создаёт скользящее окно для расчётов