pandas.core.groupby.DataFrameGroupBy.rolling#
- DataFrameGroupBy.скользящее(*args, **kwargs)[источник]#
Возвращает скользящий группировщик, предоставляющий функциональность скользящего окна для каждой группы.
- Параметры:
- windowint, timedelta, str, offset или подкласс BaseIndexer
Размер скользящего окна.
Если целое число, фиксированное количество наблюдений, используемых для каждого окна.
Если указан timedelta, строка или смещение, это временной период каждого окна. Каждое окно будет иметь переменный размер на основе наблюдений, включённых в указанный временной период. Это допустимо только для индексов, подобных дате и времени. Чтобы узнать больше о смещениях и строковых частотах, см. эта ссылка.
Если подкласс BaseIndexer, границы окна основаны на определённом
get_window_boundsметод. Дополнительные аргументы ключевых слов для скользящего окна, а именноmin_periods,center,closedиstepбудет передан вget_window_bounds.- min_periodsint, по умолчанию None
Минимальное количество наблюдений в окне, необходимое для получения значения; в противном случае результат
np.nan.Для окна, заданного смещением,
min_periodsпо умолчанию будет равно 1.Для окна, которое задано целым числом,
min_periodsбудет по умолчанию равен размеру окна.- центрbool, по умолчанию False
Если False, установите метки окна как правый край индекса окна.
Если True, установить метки окна как центр индекса окна.
- win_typestr, по умолчанию None
Если
None, все точки имеют равный вес.Если строка, она должна быть допустимой оконная функция scipy.signal.
Некоторые типы окон Scipy требуют передачи дополнительных параметров в агрегационной функции. Дополнительные параметры должны соответствовать ключевым словам, указанным в сигнатуре метода типа окна Scipy.
- наstr, optional
Для DataFrame, метка столбца или уровень Index, по которому вычисляется скользящее окно, а не индекс DataFrame.
Предоставленный целочисленный столбец игнорируется и исключается из результата, поскольку целочисленный индекс не используется для расчета скользящего окна.
- осьint или str, по умолчанию 0
Если
0или'index', прокатка по строкам.Если
1или'columns', прокатка по столбцам.Для Series этот параметр не используется и по умолчанию равен 0.
- закрытstr, по умолчанию None
Если
'right', первая точка в окне исключается из расчетов.Если
'left', последняя точка в окне исключается из расчетов.Если
'both', ни одна точка в окне не исключается из расчетов.Если
'neither', первая и последняя точки в окне исключаются из расчетов.По умолчанию
None('right').- метод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