【发布时间】:2021-05-12 05:32:53
【问题描述】:
所以我有一个 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)
我希望右边的 All(行的总和)消失。有人可以帮忙吗?提前谢谢!
【问题讨论】:
-
获得artist_table中的数据后,可以使用
artist_table = artist_table.drop("All", axis=1)吗? -
在
pivot_table命令的右侧添加.drop('All', 1) -
您好,感谢您的回复……不幸的是,这不起作用。我没有将整个表格都放在帖子中,但我添加了它,以便您更好地了解我正在使用的内容。
-
您有没有想出解决方案?删除 All 列让我发疯,而且我也不需要像您那样的 All 行。但是,如果我设置 margins=False,它出于某种原因搞砸了我的 dropna=True,因为我的结果表显示了 NAN。我设置了 margins=True 并且 NAN 消失了,但是我得到了一个我不想要的 All 列。很奇怪。