Spec-Zone.ru › pandas 0.24

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, or offset

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

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

min_periods : int, default None

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

center : bool, default False

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

win_type : str, default None

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

on : str, optional

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

axis : int or str, default 0
closed : str, default None

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

Введено в версии 0.20.0.

Возвращаемое значение:
окно или подкласс 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.

Примеры

>>> 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.24.2/reference/api/pandas.Series.rolling.html

Spec-Zone.ru

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