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

Метод groupby

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

Синтаксис

df.groupby(by[, axis][, as_index][, sort])

Пример

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

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

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

c sum mean a b 1 10 300 150.0 2 30 300 300.0 40 400 400.0 3 50 500 500.0

Пример

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

import pandas as pd df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3], 'b': [10, 20, 30, 40, 50] }) def custom_agg(x): return x.max() - x.min() res = df.groupby('a').agg(custom_agg) 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', as_index=False).sum() print(res)

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

a b 0 1 30 1 2 70 2 3 50

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

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