我正在尝试创建一个数据透视表,该数据透视表除了总体总数外,还具有列级和行之间的小计。
我已经通过以下功能实现的功能:
table = df_consulta.pivot_table(index=["CAT1","CAT2"],values=["ID_CAT"],
columns=["COL1","COL2"],aggfunc=[np.count_nonzero],fill_value = 0,margins = True,margins_name = 'zzzTotal')
tab_tots = table.groupby(level='CAT1').sum()
tab_tots.index = [tab_tots.index, ['zzTotal'] * len(tab_tots)]
tabela_ok = pd.concat([table, tab_tots]).sort_index()
tabela_ok
以及使用“ margin”参数的总计。
我尝试了相同的函数来获取列的总和:
tab_tots = table.groupby(level="COL1").sum()
但是我得到了错误:
KeyError:'找不到级别COL1'
因为这些列不是表级。
但是我想不出任何办法为案例中的列(“ A”,“ B”和“ C”)装入此小计