gpt4 book ai didi

python - Pandas : Cumulative sum with moving window (following and preceding rows)

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

我有以下数据集:

date     sales
201201 5
201202 5
201203 5
201204 5
201205 5
201206 5
201207 5
201208 5
201209 5
201210 5
201211 5
201212 5
201301 100
201302 100

我想计算从开始实际日期 + 12 个月的累计销售额

所以在这里:

date     sales   expected
201201 5 60
201202 5 160
201203 5 260
201204 5 260
201205 5 260
201206 5 260
201207 5 260
201208 5 260
201209 5 260
201210 5 260
201211 5 260
201212 5 260
201301 100 260
201302 100 260

根据这个问题How to compute cumulative sum of previous N rows in pandas?我尝试过:

df['sales'].rolling(window=12).sum()

但是我正在寻找更像这样的东西:

df['sales'].rolling(window=['unlimited preceding, 11 following']).sum()

最佳答案

使用cumsum直接感谢shift通过11 ,而不是使用ffill填写NaN s 与先前的值:

df['expected'] = df['sales'].cumsum().shift(-11).ffill()

现在:

print(df)

是:

      date  sales  expected
0 201201 5 60.0
1 201202 5 160.0
2 201203 5 260.0
3 201204 5 260.0
4 201205 5 260.0
5 201206 5 260.0
6 201207 5 260.0
7 201208 5 260.0
8 201209 5 260.0
9 201210 5 260.0
10 201211 5 260.0
11 201212 5 260.0
12 201301 100 260.0
13 201302 100 260.0

关于python - Pandas : Cumulative sum with moving window (following and preceding rows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54287216/

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