我无法找到合适的解决方案,所以决定在这里询问。我只是想更改“所有”列,并将其放在“值”列的开头(在CPU之前)。有办法吗?
可复制的代码:
df = pd.DataFrame({'Rep': ['Wendy Yule','Wendy Yule','Wendy Yule','Wendy Yule','Cedric Moss','Cedric Moss','Cedric Moss','Cedric Moss','John Smith','John Smith','Daniel Hilton','Daniel Hilton','Daniel Hilton','Craig Booker','Craig Booker','Craig Booker','Craig Booker'],
'Manager': ['Fred Anderson','Fred Anderson','Fred Anderson','Fred Anderson','Fred Anderson','Fred Anderson','Fred Anderson','Fred Anderson','Debra Henley','Debra Henley','Debra Henley','Debra Henley','Debra Henley','Debra Henley','Debra Henley','Debra Henley','Debra Henley'],
'Product': ['Monitor','CPU','CPU','Maintenance','Software','Maintenance','CPU','CPU','CPU','Maintenance','Software','CPU','CPU','CPU','Maintenance','Software','CPU'],
'Price': [5000,65000,100000,7000,10000,5000,30000,65000,35000,5000,10000,40000,65000,35000,5000,10000,30000]})
df = pd.pivot_table(df,index=["Manager","Rep"],values=["Price"],
columns=["Product"],aggfunc=[np.sum],fill_value=0,margins=True)
df = df.reset_index()
df
答案 0 :(得分:0)
您可以在创建数据透视表时添加margin_name
参数。例如
table = pd.pivot_table(df, values=['A'], index=['B'],
columns=['C'], aggfunc=sum, margins=True, margins_name='Grand Total')
利润率列现在将被命名为“总计”,而不是“全部”