Сглаживание выбранных столбцов сводной таблицы - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть сводная таблица с несколькими столбцами, которая выглядит следующим образом

df1=df.pivot_table(index=['A','B'],
                   values=['C','D','E','F','G','H','I'],
                   columns={'J', 'K'},
                   aggfunc={'C':lambda x: (x<6).sum(),'D':'count','E':'nunique','F':'last',
                            'G':'sum','H':'first','I':'first'})
#df1.columns=df1.columns.map('_'.join)

Когда она распечатывается, она имеет многоиндексированные столбцы со значениями от 'C' до 'I' выполняется сверху, а затем разбивается на два значения в столбце «J» (m и n), а затем еще дальше на два значения в столбце «K» (x и y).

Однако в идеале я хочу, чтобы столбцы выглядели так:

C_x, C_y, D, E, F, G_x_m, G_x_n, G_y_m, G_y_n, H, I_m, I_n

Можно ли как-нибудь это сделать, используя сводные таблицы для указания определенных c столбцов, которые вы хотите разделить?

Попытка использовать

df1.columns=df1.columns.map('_'.join)

сгладить все так, чтобы пошел C_x_m, C_x_n, C_y_m, C_y_n, D_x_m, D_x_n и т. д. c. но не могу понять, как указать, какие столбцы я хочу разделить.

...