Python (4/10)

📱Группировка и агрегирование в pandas: как считать суммы, средние и делать сводные таблицы (4/10)

В аналитике часто нужно не просто посмотреть на сырые данные, а понять их структуру, найти закономерности и свести информацию к ключевым показателям. Для этого в pandas есть мощные инструменты: методы groupby и pivot_table, которые позволяют группировать данные и применять к ним агрегатные функции.

Работа с groupby

Метод groupby позволяет разбить данные на группы по одному или нескольким столбцам и применить агрегатные функции к каждой группе. Например, если у вас есть таблица с продажами и вы хотите посчитать сумму продаж по каждому региону:

import pandas as pd

data = {     'region': ['North', 'South', 'North', 'East', 'South'],     'sales': [100, 200, 150, 300, 250] } df = pd.DataFrame(data)

grouped = df.groupby('region')['sales'].sum() print(grouped)

Результат — сумма продаж по регионам:  region East      300 North     250 South     450 Name: sales, dtype: int64

Вы также можете применять несколько агрегатных функций одновременно:

grouped_multi = df.groupby('region')['sales'].agg(['sum', 'mean', 'count']) print(grouped_multi)

Использование pivot_table

pivot_table похожа на сводные таблицы в Excel и удобна для создания компактных отчетов с несколькими индексами и столбцами. Например, если у вас есть ещё столбец с месяцем, и нужно посчитать средние продажи по регионам и месяцам:

data = {     'region': ['North', 'South', 'North', 'East', 'South'],     'month': ['Jan', 'Jan', 'Feb', 'Feb', 'Jan'],     'sales': [100, 200, 150, 300, 250] } df = pd.DataFrame(data)

pivot = pd.pivot_table(df, values='sales', index='region', columns='month', aggfunc='mean', fill_value=0) print(pivot)

Результат:  month   Feb  Jan region          East    300    0 North   150  100 South     0  225

Важные моменты и советы

  • При работе с группировками убедитесь, что типы данных одинаковы и корректны.
  • Aгрегатные функции могут быть кастомными — используйте agg() для своих вычислений.
  • В pivot_table удобно выставлять параметры fill_value для замены пропущенных значений.
  • Комбинируйте groupby с фильтрацией, чтобы получить более точные срезы данных.

Освоение этих инструментов значительно ускорит анализ и поможет делать максимально информативные отчёты.

Запомните, даже самый спокойный медведь умеет рычать, когда надо. Берегите голову, берегите данные — и пусть в вашем дне будет немного тишины, ясности и добрых переменных.