如何从groupby中获取数据框

发布于 2025-01-09 03:27:15 字数 643 浏览 0 评论 0原文

我正在做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)

所有三种情况下,我只得到字典。但我应该在这里获取数据框

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

I am doing a groupby practice. But it returning dict not dataframe. I fallowed some of the solutions from Stack Overflow even no luck.

My code:

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

and I tried:

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

and

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

all three cases, I am getting dict only. But I should get dataframe

here:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雾里花 2025-01-16 03:27:15

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

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

您的解决方案返回 DataFrame

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

If need new column created by aggregeted values use GroupBy.transform, but assign to sourceDF:

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

Your solution return DataFrame:

df = sourceDF.groupby(context)[aggColumn].agg(aggOperation).reset_index()
print (type(df))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文