Spec-Zone.ru › pandas 0.25

pandas.Series.shift

Series.shift(self, periods=1, freq=None, axis=0, fill_value=None) [source]

Смещение индекса на нужное количество периодов с необязательным временным freq.

Когда freq не указано, индекс смещается без перевыравнивания данных. Если freq указано (в этом случае индекс должен быть датой или датой и временем, иначе будет выброшено исключение NotImplementedError), индекс увеличивается на указанное количество периодов, используя freq.

Параметры:
periods : int

Количество периодов смещения. Может быть положительным или отрицательным.

freq : DateOffset, tseries.offsets, timedelta, or str, optional

Смещение для использования из модуля tseries или правила времени (например, ‘EOM’). Если freq указано, значения индекса смещаются, но данные не перевыравниваются. То есть, используйте freq, если хотите расширить индекс при смещении и сохранить исходные данные.

axis : {0 or ‘index’, 1 or ‘columns’, None}, default None

Направление смещения.

fill_value : object, optional

Значение скаляра, используемое для новых пропущенных значений. Значение по умолчанию зависит от типа данных self. Для числовых данных используется np.nan. Для данных типа datetime, timedelta или period и т. д. используется NaT. Для расширяемых типов данных используется self.dtype.na_value.

Изменено в версии 0.24.0.

Возвращает:
Series

Копия входного объекта, сдвинутого.

См. также

Index.shift
Смещение значений индекса.
DatetimeIndex.shift
Смещение значений DatetimeIndex.
PeriodIndex.shift
Смещение значений PeriodIndex.
tshift
Смещение временного индекса, используя частоту индекса, если она доступна.

Примеры

>>> df = pd.DataFrame({'Col1': [10, 20, 15, 30, 45],
...                    'Col2': [13, 23, 18, 33, 48],
...                    'Col3': [17, 27, 22, 37, 52]})
>>> df.shift(periods=3)
   Col1  Col2  Col3
0   NaN   NaN   NaN
1   NaN   NaN   NaN
2   NaN   NaN   NaN
3  10.0  13.0  17.0
4  20.0  23.0  27.0
>>> df.shift(periods=1, axis='columns')
   Col1  Col2  Col3
0   NaN  10.0  13.0
1   NaN  20.0  23.0
2   NaN  15.0  18.0
3   NaN  30.0  33.0
4   NaN  45.0  48.0
>>> df.shift(periods=3, fill_value=0)
   Col1  Col2  Col3
0     0     0     0
1     0     0     0
2     0     0     0
3    10    13    17
4    20    23    27

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.Series.shift.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API