
[英]How to form a pivot table on two categorical columns and count for each index?
[英]How to get the index of a pivot table as columns
我试图转动一张桌子。 它有4个主要列,大约20个其他列没有用。 列是Site,Category,Week_Beginning和Total_Hours。
我试图按网站,类别和week_beginning总计total_hours。
我正在使用df.pivot_table
函数,它按我的意愿执行,但输出需要一些修复。
它运作良好,但我得到以下输出:
索引('sum','Total_Hours')('Site1','Cat1',时间戳('2019-12-23'))725
我正在使用的代码是:
df2=df.pivot_table(index=['Site','Category','Week_Beginning'],values=['Total_Hours'],aggfunc=[np.sum],fill_value=0)
从数学的角度来看,代码运作良好,也就是说,总和是正确的
输出是:
它运作良好,但我得到以下输出:
索引('sum','Total_Hours')('Site1','Cat1',时间戳('2019-02-23'))725
因此输出只有一列名称为('sum','Total_Hours')
我期待的是4列,如下所示:
Site Category Week_Beginning Total_Hours
Site1 Cat1 2019-03-23 225
Site1 Cat1 2019-03-30 152
任何帮助,将不胜感激。 我通过Spyder 3.3.3使用python 3.7.3
谢谢。
-PR。
听起来像你应该使用groupby
-
df2=df.groupby(['Site','Category','Week_Beginning']).agg({"Total_Hours":"sum"}).reset_index()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.