pandas.Index.shift#

Индекс.shift(periods=1, freq=None)[источник]#

Сдвиг индекса на желаемое количество приращений временной частоты.

Этот метод предназначен для сдвига значений индексов типа datetime на указанный временной интервал заданное количество раз.

Параметры:
periodsint, по умолчанию 1

Количество периодов (или приращений) для сдвига, может быть положительным или отрицательным.

freqpandas.DateOffset, pandas.Timedelta или str, опционально

Приращение частоты для сдвига. Если None, индекс сдвигается на собственное freq атрибут. Псевдонимы смещений — допустимые строки, например, 'D', 'W', 'M' и т.д.

Возвращает:
pandas.Index

Сдвинутый индекс.

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

Series.shift

Сдвиг значений Series.

Примечания

Этот метод реализован только для классов индексов, связанных с датой и временем, т.е. DatetimeIndex, PeriodIndex и TimedeltaIndex.

Примеры

Поместите первые 5 начал месяцев 2011 года в индекс.

>>> month_starts = pd.date_range('1/1/2011', periods=5, freq='MS')
>>> month_starts
DatetimeIndex(['2011-01-01', '2011-02-01', '2011-03-01', '2011-04-01',
               '2011-05-01'],
              dtype='datetime64[ns]', freq='MS')

Сдвинуть индекс на 10 дней.

>>> month_starts.shift(10, freq='D')
DatetimeIndex(['2011-01-11', '2011-02-11', '2011-03-11', '2011-04-11',
               '2011-05-11'],
              dtype='datetime64[ns]', freq=None)

Значение по умолчанию для freq является freq атрибут индекса, который в этом примере равен 'MS' (начало месяца).

>>> month_starts.shift(10)
DatetimeIndex(['2011-11-01', '2011-12-01', '2012-01-01', '2012-02-01',
               '2012-03-01'],
              dtype='datetime64[ns]', freq='MS')