В Python вы можете создавать сводные таблицы, используя различные библиотеки и методы. Вот несколько методов создания сводных таблиц в Python:
- pandas.pivot_table(): библиотека pandas предоставляет функцию Pivot_table(), которая позволяет создавать сводные таблицы из DataFrame. Вы можете указать индекс, столбцы и значения для агрегирования.
Пример:
import pandas as pd
# Create a DataFrame
data = {'Category': ['A', 'A', 'B', 'B', 'A'],
'Value': [10, 20, 15, 25, 30],
'Count': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
# Create a pivot table
pivot = pd.pivot_table(df, values='Value', index='Category', columns='Count', aggfunc='sum')
print(pivot)
- pandas.crosstab(): функцию crosstab() в pandas также можно использовать для создания сводных таблиц. Он позволяет рассчитать перекрестную таблицу двух или более факторов.
Пример:
import pandas as pd
# Create a DataFrame
data = {'Category': ['A', 'A', 'B', 'B', 'A'],
'Value': [10, 20, 15, 25, 30],
'Count': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
# Create a pivot table using crosstab
pivot = pd.crosstab(index=df['Category'], columns=df['Count'], values=df['Value'], aggfunc='sum')
print(pivot)
- numpy.pivot_table(): если вы предпочитаете использовать библиотеку numpy, вы можете использовать функцию Pivot_table() из модуля numpy для создания сводных таблиц.
Пример:
import numpy as np
# Create a DataFrame
data = {'Category': ['A', 'A', 'B', 'B', 'A'],
'Value': [10, 20, 15, 25, 30],
'Count': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
# Create a pivot table using numpy
pivot = np.pivot_table(df, values='Value', index='Category', columns='Count', aggfunc=np.sum)
print(pivot)
- pivot_table() в библиотеке datatables: библиотека datatables также предоставляет функцию Pivot_table(), которая позволяет создавать сводные таблицы, аналогичные пандам.
Пример:
from datatables import DataTable
# Create a DataTable
data = DataTable(['Category', 'Value', 'Count'])
data.insert(['A', 10, 2])
data.insert(['A', 20, 4])
data.insert(['B', 15, 6])
data.insert(['B', 25, 8])
data.insert(['A', 30, 10])
# Create a pivot table
pivot = data.pivot_table(rows='Category', cols='Count', aggfunc='sum')
print(pivot)