下面是我的数据框,我相信我需要使用groupby或ivot,但没有任何东西可以正常工作。
LOGIN MANAGER 7 8 9 10 11 UNITS HOURS UPH
0 joeblow MSmith 1 21 1 47.01
1 joeblow MSmith 0.25 18 0.25 75.83
2 joeblow MSmith 1 12 1 87.05
3 joeblow MSmith 0.26 13 0.26 206.9
4 joeblow MSmith 0.43 23 0.43 53.18
我的预期输出如下所示,其中UNITS和HOURS相加,UPH被平均,其他列groupby:
LOGIN MANAGER 7 8 9 10 11 UNITS HOURS UPH
0 joeblow MSmith 1 0.25 1 0.26 0.43 66 2.94 93.994
答案 0 :(得分:2)
首先使用功能
创建列dict
d={'7':'first','8':'first','9':'first','10':'first','11':'first','UNITS':'sum','HOURS':'sum','UPH':'mean'}
然后使用agg
yourdf=df.groupby(['LOGIN','MANAGER']).agg(d)