Spec-Zone.ru › pandas 0.24

pandas.Series.shift

Series.shift(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
Сдвиг значений Index.
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.24.2/reference/api/pandas.Series.shift.html

Spec-Zone.ru

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