Глядя, чтобы перебрать столбец региона (4 региона) с помощью group by, а затем запустить кучу сводных таблиц, которые я буду складывать друг на друга и создавать общую строку.Сводные таблицы должны быть запущены во всех 4 регионах, по которым я группируюсь.Как только у меня появятся стержни, мне нужно сложить их друг на друга.
import pandas as pd
import numpy as np
df = pd.DataFrame({'Roll': ['Analyst','doctor','activist','lawyer','writer','manager'],
'Animal': ['cats','dogs','birds','pianos','elephant','dinos'],
'Region': ['EM', 'US', 'US', 'Europe', 'Asia', 'Asia'],
'Year': ['2006', '2010', '2013', '2010', '2002', '2003'],
'Dollar Amount': [10, 20, 30, 40, 50, 60]})
years = ['2001', '2002', '2003', '2004', '2005']
dfs = {}
for region, df_region in df.groupby('Region'):
filter = df[df['Roll'].isin(Analyst) & df['Animal'].isin(cats) & df['Year'].isin(years)]
pivot = pd.pivot_table(filter, index=['Animal'], columns='Year',
values=['Dollar Amount'], aggfunc=np.sum, fill_value=0)
filter2 = df[df['Roll'].isin(Analyst) & df['Animal'].isin(dogs) & df['Year'].isin(years)]
pivot2 = pd.pivot_table(filter2, index=['Animal'], columns='Year',
values=['Dollar Amount'], aggfunc=np.sum, fill_value=0)
Total = pd.concat([pivot1, pivot2])
Total = Total.append(Total.sum().rename('Analyst'))
dfs[region] = df_region
All_regions = pd.concat(['df_US', 'df_EM', 'df_Europe', 'df_Asia'])