РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
619 of 687 menu

Метод agg аксессора expanding

Метод agg аксессора expanding применяется к DataFrame или Series и позволяет применить одну или несколько агрегирующих функций к расширяющемуся окну данных. Первым параметром передаётся функция, список функций или словарь для разных столбцов. Метод возвращает DataFrame или Series с результатами агрегации для каждого элемента окна.

Синтаксис

df.expanding().agg(func, *args, **kwargs)

Пример

Давайте применим функцию суммы к расширяющемуся окну в таблице:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.expanding().agg('sum') print(res)

Результат выполнения кода:

a b 0 1.0 10.0 1 3.0 30.0 2 6.0 60.0 3 10.0 100.0 4 15.0 150.0

Пример

Применим несколько агрегирующих функций к одному столбцу:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.expanding().agg(['sum', 'mean']) print(res)

Результат выполнения кода:

sum mean 0 1.000 1.0 1 3.000 1.5 2 6.000 2.0 3 10.000 2.5 4 15.000 3.0

Пример

Применим словарь с разными функциями для разных столбцов:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.expanding().agg({'a': 'sum', 'b': 'mean'}) print(res)

Результат выполнения кода:

a b 0 1.0 10.0 1 3.0 15.0 2 6.0 20.0 3 10.0 25.0 4 15.0 30.0

Пример

Используем пользовательскую функцию для агрегации:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.expanding().agg(lambda x: x.max() - x.min()) print(res)

Результат выполнения кода:

0 0.0 1 1.0 2 2.0 3 3.0 4 4.0 dtype: float64

Смотрите также

  • метод mean,
    который вычисляет среднее значение с расширяющимся окном
  • метод sum,
    который вычисляет сумму с расширяющимся окном
  • метод std,
    который вычисляет стандартное отклонение с расширяющимся окном
  • метод apply,
    который применяет пользовательскую функцию к расширяющемуся окну
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить