如何从groupby获取数据框

How to get dataframe from groupby

我正在做一个分组练习。但它返回的是字典而不是数据框。我什至没有运气从 Stack Overflow 中获得一些解决方案。

我的代码:

result[comNewColName] = sourceDF.groupby(context, as_index=False)[aggColumn].agg(aggOperation).reset_index()

我试过了:

result[comNewColName] = sourceDF.groupby(context)[aggColumn].agg(aggOperation).reset_index()

result[comNewColName] = sourceDF.groupby(context, as_index=False)[aggColumn].agg(aggOperation)

所有三种情况,我只得到 dict。但我应该得到 dataframe

此处:

comNewColName = "totalAmount"
context =['clientCode']
aggColumn = 'amount'
aggOperation = 'sum'

如果需要通过聚合值创建新列,请使用 GroupBy.transform,但分配给 sourceDF:

sourceDF[comNewColName] = sourceDF.groupby(context)[aggColumn].transform(aggOperation)

你的解决方案returnDataFrame:

df = sourceDF.groupby(context)[aggColumn].agg(aggOperation).reset_index()
print (type(df))