Освоение сводных таблиц в Python: подробное руководство по использованию нескольких агрегатов

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

Методы создания сводных таблиц с несколькими агрегатами:

  1. Использование функции pivot_tableв pandas:

    import pandas as pd
    # Create a DataFrame
    data = {
    'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
    'Value': [10, 15, 5, 8, 12, 20],
    'Quantity': [2, 3, 1, 4, 2, 5]
    }
    df = pd.DataFrame(data)
    # Create a pivot table with multiple aggregates
    pivot_table = df.pivot_table(index='Category', aggfunc={'Value': 'sum', 'Quantity': 'mean'})
    print(pivot_table)
  2. Использование метода pivot_tableв DataFrame pandas:

    # Create a pivot table with multiple aggregates
    pivot_table = df.pivot_table(index='Category')
    pivot_table['Value'] = df.groupby('Category')['Value'].sum()
    pivot_table['Quantity'] = df.groupby('Category')['Quantity'].mean()
    print(pivot_table)
  3. Использование функции pivotв pandas (для одноуровневого индекса столбца):

    # Create a pivot table with multiple aggregates
    pivot_table = df.pivot(index='Category', columns='Aggregate', values=['Value', 'Quantity'])
    print(pivot_table)
  4. Использование функции pivot_tableв pandas с многоуровневым индексом столбца:

    # Create a pivot table with multiple aggregates
    pivot_table = df.pivot_table(index='Category', columns=['Aggregate', 'Column'], values=['Value', 'Quantity'])
    print(pivot_table)
  5. Использование функции pivot_tableв pandas с настраиваемой функцией агрегирования:

    # Define a custom aggregation function
    def custom_agg(x):
    return x.max() - x.min()
    # Create a pivot table with multiple aggregates using the custom aggregation function
    pivot_table = df.pivot_table(index='Category', aggfunc={'Value': custom_agg, 'Quantity': 'mean'})
    print(pivot_table)

Сводные таблицы с несколькими агрегатами предоставляют гибкий способ суммирования и анализа данных. В этой статье мы рассмотрели различные методы создания таких сводных таблиц с использованием Python и таких библиотек, как pandas. Используя эти методы, вы сможете получить более глубокое представление о своих данных и принять обоснованные решения.