Spec-Zone.ru › pandas 0.23

pandas.Series.rolling

Series.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None) [source]

Предоставляет вычисления скользящего окна.

Новая в версии 0.18.0.

Параметры:

window : int или смещение

Размер скользящего окна. Это число наблюдений, используемых для расчета статистики. Каждое окно будет иметь фиксированный размер.

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

min_periods : int, по умолчанию None

Минимальное количество наблюдений в окне, необходимое для получения значения (в противном случае результат — NA). Для окна, заданного смещением, это значение по умолчанию равно 1.

center : boolean, по умолчанию False

Установить метки в центре окна.

win_type : строка, по умолчанию None

Указать тип окна. Если None, все точки имеют одинаковый вес. Дополнительную информацию см. в примечаниях ниже.

on : строка, необязательно

Для DataFrame столбец, по которому вычисляется скользящее окно, а не индекс

closed : строка, по умолчанию None

Сделать интервал закрытым по правой, левой, обеим или ни одной границе. Для окон, основанных на смещениях, по умолчанию устанавливается значение ‘right’. Для фиксированных окон — ‘both’. Остальные случаи для фиксированных окон не реализованы.

Новая в версии 0.20.0.

axis : int or string, default 0
Возвращает:
Окно или Rolling, наследуемые от конкретной операции

См. также

expanding
Предоставляет расширяющие преобразования.
ewm
Предоставляет функции экспоненциально взвешенного среднего.

Примечания

По умолчанию результат устанавливается на правой границе окна. Это можно изменить на центр окна, установив center=True.

Дополнительную информацию о смещениях и строках частоты см. на этой странице.

Распознаваемые типы окон:

  • boxcar
  • triang
  • blackman
  • hamming
  • bartlett
  • parzen
  • bohman
  • blackmanharris
  • nuttall
  • barthann
  • kaiser (требуется beta)
  • gaussian (требуется std)
  • general_gaussian (требуется power, ширина)
  • slepian (требуется ширина).

Если win_type=None, все точки имеют равный вес. Дополнительную информацию о различных типах окон см. на странице функций окон scipy.signal.

Примеры

>>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})
>>> df
     B
0  0.0
1  1.0
2  2.0
3  NaN
4  4.0

Сумма скользящего окна длиной 2, с использованием типа окна ‘triang’.

>>> df.rolling(2, win_type='triang').sum()
     B
0  NaN
1  1.0
2  2.5
3  NaN
4  NaN

Сумма скользящего окна длиной 2, min_periods по умолчанию равно длине окна.

>>> df.rolling(2).sum()
     B
0  NaN
1  1.0
2  3.0
3  NaN
4  NaN

То же самое, но явно указано min_periods

>>> df.rolling(2, min_periods=1).sum()
     B
0  0.0
1  1.0
2  3.0
3  2.0
4  4.0

Разорванная (нерегулярная частота), индексированная по времени DataFrame

>>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]},
...                   index = [pd.Timestamp('20130101 09:00:00'),
...                            pd.Timestamp('20130101 09:00:02'),
...                            pd.Timestamp('20130101 09:00:03'),
...                            pd.Timestamp('20130101 09:00:05'),
...                            pd.Timestamp('20130101 09:00:06')])
>>> df
                       B
2013-01-01 09:00:00  0.0
2013-01-01 09:00:02  1.0
2013-01-01 09:00:03  2.0
2013-01-01 09:00:05  NaN
2013-01-01 09:00:06  4.0

В отличие от целого скользящего окна, это окно будет иметь переменную длину, соответствующую временной периоду. Значение по умолчанию для min_periods равно 1.

>>> df.rolling('2s').sum()
                       B
2013-01-01 09:00:00  0.0
2013-01-01 09:00:02  1.0
2013-01-01 09:00:03  3.0
2013-01-01 09:00:05  NaN
2013-01-01 09:00:06  4.0

© 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.23.4/generated/pandas.Series.rolling.html

Spec-Zone.ru

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