pandas.core.groupby.SeriesGroupBy.rolling#

SeriesGroupBy.скользящее(*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