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