【发布时间】:2019-10-02 20:04:11
【问题描述】:
我正在尝试旋转我拥有的表格。它有 4 个主要列,还有大约 20 个其他无用的列。这些列是 Site、Category、Week_Beginning 和 Total_Hours。
我正在尝试按站点、类别和 week_beginning 合计总小时数。
我正在使用df.pivot_table 函数,它可以按照我的意愿进行操作,但输出需要一些修复。
效果很好,但我得到以下输出:
索引('sum','Total_Hours') ('Site1','Cat1',Timestamp('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',Timestamp('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
谢谢。
-公关。
【问题讨论】:
-
你为什么不用
groupby? Pivot 对于这项工作来说是一个非常不寻常的功能。
标签: python indexing pivot-table