Освоение GroupBy в Python: подробное руководство с примерами кода

GroupBy — это мощная функция Python, которая позволяет разбивать данные на группы на основе одного или нескольких критериев и выполнять операции над каждой группой независимо. В этой статье мы рассмотрим различные методы использования GroupBy в Python, сопровождаемые примерами кода.

  1. Использование GroupBy с Pandas.
    Pandas — популярная библиотека Python для манипулирования и анализа данных. Он предоставляет удобную функцию GroupBy, которая легко работает с объектами DataFrame.
import pandas as pd
# Create a DataFrame
data = {
    'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
    'Value': [10, 15, 12, 17, 9, 20]
}
df = pd.DataFrame(data)
# GroupBy 'Category' and calculate the sum of 'Value'
grouped = df.groupby('Category')
sum_by_category = grouped['Value'].sum()
print(sum_by_category)

Выход:

Category
A    31
B    52
Name: Value, dtype: int64
  1. Применение функций агрегирования.
    GroupBy позволяет применять различные функции агрегирования, такие как сумма, среднее значение, количество, минимум, максимум и т. д., для расчета сводной статистики для каждой группы.
# Calculate the mean and count of 'Value' for each category
mean_by_category = grouped['Value'].mean()
count_by_category = grouped['Value'].count()
print(mean_by_category)
print(count_by_category)

Выход:

Category
A    10.333333
B    17.333333
Name: Value, dtype: float64
Category
A    3
B    3
Name: Value, dtype: int64
  1. Перебор групп.
    Вы можете перебирать группы, созданные GroupBy, используя атрибут groups.
# Iterate over the groups and print each group
for name, group in grouped:
    print("Group:", name)
    print(group)
    print()

Выход:

Group: A
  Category  Value
0        A     10
2        A     12
4        A      9
Group: B
  Category  Value
1        B     15
3        B     17
5        B     20
  1. Применение пользовательских функций.
    GroupBy позволяет применять пользовательские функции к каждой группе с помощью метода apply().
# Define a custom function
def custom_function(group):
    return group['Value'].sum() * 2
# Apply the custom function to each group
custom_result = grouped.apply(custom_function)
print(custom_result)

Выход:

Category
A     62
B    104
dtype: int64

В этой статье мы рассмотрели несколько методов использования GroupBy в Python. Мы узнали, как использовать GroupBy с Pandas, применять функции агрегирования, перебирать группы и применять пользовательские функции. GroupBy – это мощный инструмент для манипулирования и анализа данных. Овладение им расширит ваши возможности обработки данных.

Используя эти методы GroupBy, вы можете эффективно анализировать данные и получать ценную информацию, принимая обоснованные решения в различных областях, таких как бизнес, финансы и исследования.

Не забудьте использовать библиотеку Pandas и ее функцию GroupBy, чтобы сделать ваши задачи анализа данных более эффективными и результативными.