所以我有一个pandas数据透视表,我想将列的总和保持在底部(所以总和行)。但是,当我说margins = True并且我不希望这样做时,还会添加一列。
我尝试删除列,但是从多索引表中删除列只会导致错误。如果我放了drop('All',axis = 1),它说KeyError:'All',如果我放了axis = 0,它摆脱了底部的总和(我想要的)。
artist_table = pd.pivot_table(total_df,
values=['Records Created',
'Tickets Sold'],
index=['artist name',
'artist id'],
columns=['date'],
aggfunc=np.sum,
fill_value=0,
margins=True)
我想要的是:
Leads Created Revenue
date 6/1 6/2
artist_id artist_name
XXX YYY x y
AAA BBB a b
All (x+a) (y+b)
我现在拥有的是:
Leads Created Revenue
date 6/1 6/2 All
artist_id artist_name
XXX YYY x y (x+y)
AAA BBB a b (a+b)
All (x+a) (y+b)
我希望右边的所有(行的总和)消失。谁能帮忙吗?预先谢谢你!
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以通过
交换标题级别artist_table=artist_table.swaplevel(0,1,axis=1).sort_index(axis=1)
然后删除“全部”列
artist_table.drop("All", axis=1)
然后你可以交换级别
artist_table=artist_table.swaplevel(0,1,axis=1).sort_index(axis=1)