Я пытаюсь создать сводную таблицу, в которой, кроме общего итога, есть промежуточный итог между уровнями столбцов и строками.
Строки, которые я уже достиг с помощью следующей функции:
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»)