gpt4 book ai didi

python - 如何有效计算 pandas 中所有后续行的平均值?

转载 作者:行者123 更新时间:2023-12-01 00:26:52 25 4
gpt4 key购买 nike

给定一个看起来像这样的数据框:

date,score
2019-10-01,5
2019-10-02,4
2019-10-03,3
2019-10-04,6

如何使用后续/后续行计算 score 的平均值,使其看起来/行为如下:

date,score
2019-10-01,5,(5+4+3+6)/4
2019-10-02,4,(4+3+6)/3
2019-10-03,3,(3+6)/2
2019-10-04,6,6

这在 SQL 中非常简单,我正在尝试从其中翻译它,在 SQL 中我可以编写:

选择平均(得分)超过(按日期排序)...

但是我在尝试在 pandas 中解决这个问题时遇到了麻烦。

任何指导将不胜感激。

谢谢!

最佳答案

自下而上使用cumsum并除以arange

df['cummean'] = df.score[::-1].cumsum()[::-1] / np.arange(len(df), 0, -1)
<小时/>
         date  score   cummean
0 2019-10-01 5 4.500000
1 2019-10-02 4 4.333333
2 2019-10-03 3 4.500000
3 2019-10-04 6 6.000000

关于python - 如何有效计算 pandas 中所有后续行的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58513764/

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