Spec-Zone.ru › pandas 2

pandas.core.groupby.DataFrameGroupBy.rolling

DataFrameGroupBy.rolling(*args, **kwargs)[source]

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

Параметры:
window:int, timedelta, str, offset или подкласс BaseIndexer

Размер скользящего окна.

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

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

Если подкласс BaseIndexer, границы окна, основанные на определенном get_window_bounds методе. Дополнительные аргументы rolling, а именно min_periods, center, closed и step, будут переданы в get_window_bounds.

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

Минимальное количество наблюдений в окне, необходимое для получения значения; в противном случае результат np.nan.

Для окна, заданного офсетом, min_periods по умолчанию равно 1.

Для окна, заданного целым числом, min_periods по умолчанию равно размеру окна.

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

Если False, метки окна устанавливаются как правая граница индекса окна.

Если True, метки окна устанавливаются как центр индекса окна.

win_type:str, по умолчанию None

Если None, все точки имеют равные веса.

Если строка, она должна быть допустимой функцией окна scipy.signal.

Некоторые типы окон Scipy требуют дополнительных параметров, которые должны быть переданы в функцию агрегирования. Дополнительные параметры должны соответствовать ключевым словам, указанным в сигнатуре метода типа окна Scipy.

on:str, необязательно

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

Указанный целочисленный столбец игнорируется и исключается из результата, поскольку целочисленный индекс не используется для вычисления скользящего окна.

axis:int или str, по умолчанию 0

Если 0 или 'index', прокрутка по строкам.

Если 1 или 'columns', прокрутка по столбцам.

Для Series этот параметр не используется и по умолчанию равен 0.

closed:str, по умолчанию None

Если 'right', первая точка в окне исключается из расчетов.

Если 'left', последняя точка в окне исключается из расчетов.

Если 'both', никакие точки в окне не исключаются из расчетов.

Если 'neither', первая и последняя точки в окне исключаются из расчетов.

Значение по умолчанию None ('right').

method:str {‘single’, ‘table’}, по умолчанию ‘single’

Выполнить операцию скользящего среднего по отдельному столбцу или строке ('single') или по всему объекту ('table').

Этот аргумент реализован только при указании engine='numba' в вызове метода.

Возвращаемое значение:
pandas.api.typing.RollingGroupby

Возвращает новый агрегатор с добавленным скользящим средним.

См. также

Series.rolling

Вызов объекта с данными Series.

DataFrame.rolling

Вызов объекта с DataFrame.

Series.groupby

Применение функции groupby к Series.

DataFrame.groupby

Применение функции groupby.

Примеры

>>> df = pd.DataFrame({'A': [1, 1, 2, 2],
...                    'B': [1, 2, 3, 4],
...                    'C': [0.362, 0.227, 1.267, -0.562]})
>>> df
      A  B      C
0     1  1  0.362
1     1  2  0.227
2     2  3  1.267
3     2  4 -0.562
>>> df.groupby('A').rolling(2).sum()
    B      C
A
1 0  NaN    NaN
  1  3.0  0.589
2 2  NaN    NaN
  3  7.0  0.705
>>> df.groupby('A').rolling(2, min_periods=1).sum()
    B      C
A
1 0  1.0  0.362
  1  3.0  0.589
2 2  3.0  1.267
  3  7.0  0.705
>>> df.groupby('A').rolling(2, on='B').sum()
    B      C
A
1 0  1    NaN
  1  2  0.589
2 2  3    NaN
  3  4  0.705

© 2008–2022, 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/2.2.2/reference/api/pandas.core.groupby.DataFrameGroupBy.rolling.html

Spec-Zone.ru

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