如何对多列进行分组并对熊猫进行不同的汇总

时间:2019-07-24 14:05:55

标签: pandas

我有631列,我想按它们中的2列进行分组,并对除我要的sum()以外的所有其他列进行max()的汇总。 / p>

这是与熊猫,python,jupyter笔记本一起使用的:

merged_df.groupby(['USER_ID','month']).agg({merged_group.iloc[:,0:630]:'sum',
                                           'convierte':'max'}) 

这不起作用,因为它显示:

  

'TypeError:'DataFrame'对象是可变的,因此不能被散列'

1 个答案:

答案 0 :(得分:0)

在创建聚合字典时,您将DataFrame设置为键。 DataFrames是可变的,因此对此有所抱怨。您的字典需要{'col_name' : 'sum'}

d = {x: 'sum' for x in merged_group.columns[0:630]}
d['convierte'] = 'max'

merged_df.groupby(['USER_ID', 'month']).agg(d)