Промежуточный итог в столбцах сводной таблицы - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь создать сводную таблицу, в которой, кроме общего итога, есть промежуточный итог между уровнями столбцов и строками.

Строки, которые я уже достиг с помощью следующей функции:

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

enter image description here

и общий итог, используя параметр 'margin'.

Я попробовал ту же функцию, чтобы получить сумму столбца:

tab_tots = table.groupby(level="COL1").sum()

однако я получаю ошибку:

KeyError: 'Уровень COL1 не найден'

потому что столбцы не являются табличным уровнем.

Но я не мог придумать, каким образом смонтировать этот промежуточный итог для столбцов в корпусе («A», «B» и «C»)

...