pandas.core.groupby.SeriesGroupBy.rolling
- SeriesGroupBy.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-
Вызов объекта с DataFrames.
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.SeriesGroupBy.rolling.html