Сообщить об ошибке.

Метод DataFrame.expanding() модуля pandas в Python

Вычисляет расширяющееся окно в pandas

Синтаксис:

DataFrame.expanding(min_periods=1, axis=no_default, method='single')

Параметры:

  • min_periods=1 - минимальное количество наблюдений в окне, необходимое для получения значения. В противном случае результатом будет np.nan.

  • axis=no_default - ключевой аргумент axis устарел с версии 2.1.0. Теперь для использования axis=1 необходимо транспонировать DataFrame.T.

    • если 0 или index, обрабатывает строки.
    • если 1 или columns, обрабатывает столбцы.

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

  • method='single' - выполняет операцию скользящего окна для одного столбца или строки (single) или для всего объекта (table). Этот аргумент реализуется только при указании engine='numba' в вызове метода.

Возвращаемое значение:

  • typing.Expanding.

Описание метода DataFrame.expanding():

Метод DataFrame.expanding() модуля pandas предоставляет вычисление расширяющегося окна Series/DataFrame.

Расширяющееся окно дает значение агрегированной статистики со всеми данными, доступными к этому моменту времени. Поскольку эти вычисления являются частным случаем скользящей статистики, то они реализованы в pandas таким образом, что следующие два вызова эквивалентны:

>>> import pandas as pd
>>> df = pd.DataFrame(range(5))
>>> df.rolling(window=len(df), min_periods=1).mean()
#      0
# 0  0.0
# 1  0.5
# 2  1.0
# 3  1.5
# 4  2.0

>>> df.expanding(min_periods=1).mean()
#      0
# 0  0.0
# 1  0.5
# 2  1.0
# 3  1.5
# 4  2.0

Функции расширяющегося окна

ФункцияЧто делает
Expanding.count([numeric_only])Вычисляет расширяющееся количество наблюдений, отличных от NaN.
Expanding.sum([numeric_only, engine, ...])Вычисляет расширяющуюся сумму
Expanding.mean([numeric_only, engine, ...])Вычисляет расширяющееся среднее
Expanding.median([numeric_only, engine, ...])Вычисляет расширяющуюся медиану.
Expanding.var([ddof, numeric_only, engine, ...])Вычисляет расширяющуюся дисперсию.
Expanding.std([ddof, numeric_only, engine, ...])Вычисляет расширяющееся стандартное отклонение.
Expanding.min([numeric_only, engine, ...])Вычисляет расширяющийся минимум.
Expanding.max([numeric_only, engine, ...])Вычисляет расширяющийся максимум.
Expanding.corr([other, pairwise, ddof, ...])Вычисляет расширяющуюся корреляцию.
Expanding.cov([other, pairwise, ddof, ...])Вычисляет расширяющуюся ковариацию выборки.
Expanding.skew([numeric_only])Вычисляет расширяющуюся несмещенную асимметрию.
Expanding.kurt([numeric_only])Вычисляет расширяющееся определение эксцесса Фишера без смещения.
Expanding.apply(func[, raw, engine, ...])Вычисляет расширяющуюся пользовательскую функцию агрегирования.
Expanding.aggregate(func, *args, **kwargs)Агрегирует с использованием одной или нескольких операций над указанной осью.
Expanding.quantile(q[, interpolation, ...])Вычисляет расширяющийся квантиль.
Expanding.sem([ddof, numeric_only])Вычисляет расширяющуюся стандартную ошибку среднего значения.
Expanding.rank([method, ascending, pct, ...])Вычисляет расширяющийся ранг.

Примеры использования аргументов DataFrame.expanding():

>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame({"B": [0, 1, 2, np.nan, 4]})
>>> df
#      B
# 0  0.0
# 1  1.0
# 2  2.0
# 3  NaN
# 4  4.0

Аргумент min_periods

Расширяющаяся сумма с 1 по сравнению с 3 наблюдениями, необходимыми для вычисления значения.

>>> df.expanding(1).sum()
#      B
# 0  0.0
# 1  1.0
# 2  3.0
# 3  3.0
# 4  7.0

>>> df.expanding(3).sum()
#      B
# 0  NaN
# 1  NaN
# 2  3.0
# 3  3.0
# 4  7.0