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

Метод agg

Метод agg применяется к объекту GroupBy и позволяет применить одну или несколько функций агрегации к каждой группе данных. Метод возвращает DataFrame с результатами агрегации. В качестве первого параметра можно передать функцию, список функций или словарь, где ключами являются столбцы, а значениями - функции.

Синтаксис

df.groupby(by).agg(func)

Пример

Давайте сгруппируем данные по столбцу 'a' и применим функцию агрегации суммы к столбцу 'b':

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

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

b a 1 30 2 70 3 50

Пример

Давайте применим несколько функций агрегации одновременно с помощью списка:

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

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

b sum mean a 1 30 15.0 2 70 35.0 3 50 50.0

Пример

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

import pandas as pd df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3], 'b': [10, 20, 30, 40, 50], 'c': [100, 200, 300, 400, 500] }) res = df.groupby('a').agg({ 'b': 'sum', 'c': 'mean' }) print(res)

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

b c a 1 30 150.0 2 70 350.0 3 50 500.0

Пример

Давайте используем собственные функции для агрегации:

import pandas as pd df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3], 'b': [10, 20, 30, 40, 50] }) res = df.groupby('a').agg(lambda x: x.max() - x.min()) print(res)

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

b a 1 10 2 10 3 0

Пример

Давайте применим именованные агрегации с помощью кортежей:

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

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

sum_b max_b a 1 30 20 2 70 40 3 50 50

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

  • метод aggregate,
    который является синонимом метода agg
  • метод transform,
    который применяет функцию к каждой группе и возвращает объект той же формы
  • метод apply,
    который применяет произвольную функцию к каждой группе
  • метод filter,
    который фильтрует группы по заданному условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить