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

Метод sum

Метод sum применяется к объекту GroupBy, полученному после группировки таблицы DataFrame или серии Series. Он вычисляет сумму значений в каждой группе для числовых столбцов. По умолчанию метод суммирует все числовые столбцы. Дополнительные параметры позволяют исключать пропущенные значения и управлять типом возвращаемого объекта.

Синтаксис

groupby_obj.sum(numeric_only=True, min_count=0)

Параметры

  • numeric_only - логический параметр, указывающий, вычислять ли сумму только для числовых столбцов. По умолчанию равен True.
  • min_count - целое число, минимальное количество непустых значений для вычисления суммы. Если значений меньше указанного числа, результатом будет NaN. По умолчанию равен 0.

Пример

Создадим таблицу с данными о продажах в разных городах и вычислим общую сумму продаж в каждом городе:

import pandas as pd df = pd.DataFrame({ 'city': ['Москва', 'СПб', 'Москва', 'СПб', 'Казань'], 'sales': [100, 200, 150, 300, 250], 'profit': [10, 20, 15, 30, 25] }) grouped = df.groupby('city') res = grouped.sum() print(res)

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

sales profit city Казань 250 25 Москва 250 25 СПб 500 50

Пример

Теперь выполним группировку по нескольким столбцам и вычислим сумму для каждой группы:

import pandas as pd df = pd.DataFrame({ 'city': ['Москва', 'Москва', 'СПб', 'СПб', 'Казань'], 'product': ['A', 'B', 'A', 'B', 'A'], 'sales': [100, 150, 200, 300, 250], 'profit': [10, 15, 20, 30, 25] }) grouped = df.groupby(['city', 'product']) res = grouped.sum() print(res)

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

sales profit city product Казань A 250 25 Москва A 100 10 B 150 15 СПб A 200 20 B 300 30

Пример

Рассмотрим работу параметра min_count. Установим минимальное количество значений равным 2:

import pandas as pd import numpy as np df = pd.DataFrame({ 'city': ['Москва', 'СПб', 'Москва', 'СПб', 'Москва'], 'sales': [100, np.nan, 150, 300, 200] }) grouped = df.groupby('city') res = grouped.sum(min_count=2) print(res)

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

sales city Москва 450.0 СПб NaN

Пример

Применим метод sum к серии, сгруппировав её по другому столбцу:

import pandas as pd df = pd.DataFrame({ 'city': ['Москва', 'СПб', 'Москва', 'СПб', 'Казань'], 'sales': [100, 200, 150, 300, 250] }) grouped = df.groupby('city')['sales'] res = grouped.sum() print(res)

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

city Казань 250 Москва 250 СПб 500 Name: sales, dtype: int64

Пример

Пример с использованием параметра numeric_only, который позволяет включить в расчёт только числовые столбцы:

import pandas as pd df = pd.DataFrame({ 'city': ['Москва', 'СПб', 'Москва'], 'sales': [100, 200, 150], 'profit': [10, 20, 15], 'product': ['A', 'B', 'A'] }) grouped = df.groupby('city') res = grouped.sum(numeric_only=True) print(res)

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

sales profit city Москва 250 25 СПб 200 20

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

  • метод mean,
    который вычисляет среднее значение в группах
  • метод count,
    который подсчитывает количество значений в группах
  • метод min,
    который находит минимальное значение в группах
  • метод max,
    который находит максимальное значение в группах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить