Python 3.x 我需要关于如何压缩此数据帧的建议
下面是我的数据框架,我相信我需要使用groupby或pivot,但还没有得到任何正确的工作Python 3.x 我需要关于如何压缩此数据帧的建议,python-3.x,pandas,pandas-groupby,Python 3.x,Pandas,Pandas Groupby,下面是我的数据框架,我相信我需要使用groupby或pivot,但还没有得到任何正确的工作 LOGIN MANAGER 7 8 9 10 11 UNITS HOURS UPH 0 joeblow MSmith 1 21 1 47.01 1 joeblow MSmith 0.25
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
我的预期输出如下所示,单位和小时相加,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
首先使用函数创建列
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)
首先使用函数创建列
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)
我得到:TypeError:只能将str(而不是“float”)连接到str。@user3249641检查您的列,可能它不是“7”7@user3249641最好将所有列转换回数值(在您的例子中是float),然后运行我的代码,它应该可以工作:-),我的dict中有一个输入错误,应该是单位而不是单位。就是说,我的df没有首先转换回数字。再次感谢!我得到:TypeError:只能将str(而不是“float”)连接到str。@user3249641检查您的列,可能它不是“7”7@user3249641最好将所有列转换回数值(在您的例子中是float),然后运行我的代码,它应该可以工作:-),我的dict中有一个输入错误,应该是单位而不是单位。就是说,我的df没有首先转换回数字。再次感谢!