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

Метод shift

Метод shift применяется к DataFrame и выполняет сдвиг данных на заданное количество периодов. Параметр periods задаёт число шагов для сдвига. Положительное значение сдвигает данные вниз (вперёд), отрицательное - вверх (назад). Параметр axis определяет ось для сдвига: 0 (индексы) или 1 (столбцы). Параметр fill_value заполняет образовавшиеся пропуски указанным значением.

Синтаксис

df.shift(periods=1, axis=0, fill_value=None)

Пример

Выполним сдвиг данных на одну строку вниз:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) print(df.shift(periods=1))

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

a b 0 NaN NaN 1 1.0 10.0 2 2.0 20.0 3 3.0 30.0 4 4.0 40.0

Пример

Сдвинем данные на две строки вверх с заполнением пропусков:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) print(df.shift(periods=-2, fill_value=0))

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

a b 0 3 30 1 4 40 2 5 50 3 0 0 4 0 0

Пример

Сдвинем данные вдоль оси столбцов на одну позицию вправо:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) print(df.shift(periods=1, axis=1))

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

a b 0 NaN 1.0 1 NaN 2.0 2 NaN 3.0 3 NaN 4.0 4 NaN 5.0

Пример

Сдвинем данные на три строки вниз с заполнением пропусков значением 999:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) print(df.shift(periods=3, fill_value=999))

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

a b 0 999 999 1 999 999 2 999 999 3 1 10 4 2 20

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

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