C GroupBy: управление данными, группировка и агрегация
Метод `groupby` используется для группировки данных по одному или нескольким столбцам и применения функции агрегации к этим группам. Результатом работы метода является объект `GroupBy`, который представляет собой коллекцию групп данных, каждая из которых содержит значения по соответствующим столбцам.
Применим метод `groupby` к набору данных, содержащему информацию о товарах и их продажах. Предположим, что у нас есть DataFrame `df` с колонками "Товар", "Категория", "Продажи" и мы хотим посчитать общую сумму продаж по каждой категории.
python
import pandas as pd
# Создаем DataFrame
data = {'Товар': ['Товар 1', 'Товар 2', 'Товар 3', 'Товар 4', 'Товар 5', 'Товар 6'],
'Категория': ['Категория 1', 'Категория 2', 'Категория 1', 'Категория 2', 'Категория 1', 'Категория 2'],
'Продажи': [100, 200, 150, 250, 180, 220]}
df = pd.DataFrame(data)
# Группируем данные по категории и суммируем продажи
grouped = df.groupby('Категория')['Продажи'].sum()
print(grouped)
Результат будет выглядеть следующим образом:
Категория
Категория 1 430
Категория 2 670
Name: Продажи, dtype: int64
Таким образом, мы получаем сумму продаж для каждой категории товаров.
Метод `groupby` можно использовать и в других ситуациях. Например, можно группировать данные по нескольким столбцам и применять к каждой группе различные функции агрегации (например, `sum`, `mean`, `count` и т. д.), чтобы получить более детальную информацию о данных.
python
grouped = df.groupby(['Категория', 'Товар'])['Продажи'].agg(['sum', 'mean'])
print(grouped)
Результат будет выглядеть следующим образом:
sum mean
Категория Товар
Категория 1 Товар 1 100 100
Товар 3 150 150
Товар 5 180 180
Категория 2 Товар 2 200 200
Товар 4 250 250
Товар 6 220 220
Таким образом, мы получаем сумму и среднее значение продаж для каждой категории и товара.
Метод `groupby` очень мощный инструмент в анализе данных и позволяет гибко работать с группами данных, выполнять различные агрегирующие операции и получать нужную информацию.