Spec-Zone.ru › pandas 0.23

pandas.DataFrame.rolling

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

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

Добавлена в версии 0.18.0.

Параметры:

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

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

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

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

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

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

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

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

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

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

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

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

Установить интервал закрытым в правой, левой, обеих или ни одной точках. Для окон, основанных на смещениях, по умолчанию используется «правая». Для окон фиксированного размера по умолчанию используется «обе». Остальные случаи не реализованы для окон фиксированного размера.

Добавлена в версии 0.20.0.

axis : int or string, default 0
Возвращает:
a Window или Rolling подкласс для конкретной операции

См. также

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

Примечания

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

Чтобы узнать больше о смещениях и строках частоты, см. ссылку.

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

  • boxcar
  • triang
  • blackman
  • hamming
  • bartlett
  • parzen
  • bohman
  • blackmanharris
  • nuttall
  • barthann
  • kaiser (требуется бета-версия)
  • gaussian (требуется стандарт)
  • general_gaussian (требуется степень, ширина)
  • slepian (требуется ширина).

Если win_type=None все точки имеют одинаковый вес. Чтобы узнать больше о различных типах окон, см. scipy.signal window functions.

Примеры

>>> 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.DataFrame.rolling.html

Spec-Zone.ru

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