gpt4 book ai didi

python - 在 pandas 的 groupby 语句中将两列相乘

转载 作者:行者123 更新时间:2023-12-05 01:39:32 27 4
gpt4 key购买 nike

我有一个名为 df 的简化数据框

import pandas as pd
df = pd.DataFrame({'num': [1,1,2,2],
'price': [12,11,15,13],
'y': [7,7,9,9]})

我想按 num 进行分组,然后将 price 和 y 相乘,然后将总和除以 y 的总和

我一直在努力着手解决这个问题,但遇到了麻烦

df.groupby('letter').agg(['price']*['quantity'])

最佳答案

在 groupby 操作之前,您可以向数据框添加一个临时列来计算中间结果 (price * y),然后在您的 groupby 操作中使用此列(对值求和,然后然后使用 eval 计算 temp 的总和除以 y 的总和)。将结果转换回数据框并根据需要调用新列。

>>> (df
.assign(temp=df.eval('price * y'))
.groupby('num')
.sum()
.eval('temp / y')
.to_frame('result')
)
result
num
1 11.5
2 14.0

关于python - 在 pandas 的 groupby 语句中将两列相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58193884/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com