gpt4 book ai didi

python - 获取 pandas 系列中接下来 5 到 10 个值的总和

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

我想对 pandas 系列或每个元素的任何列表的下 5 到下 10 个值求和。例如:

x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
output = [40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 74, 57, 39, 20, 0, 0 ,0 ,0 ,0]

40 是 6,7,8,9,10 的和。我并不真正关心最后的值,它们可以是 nan 或以 0 为后缀的可用值的总和。

我知道滚动功能并尝试过:

pd.Series(x).shift(-10).rolling(10, min_periods =1 ).sum()-pd.Series(x).shift(-5).rolling(5, min_periods =1 ).sum()

但它给出了错误的值。如果答案可以用变量给出(5 和 10 替换为 x,y),那将会很有帮助,但我自己也能弄清楚。请帮忙。

最佳答案

让我们尝试一下:

n,m = 5,10
(pd.Series(x).shift(-n, fill_value=0)
.rolling(n).sum()
.shift(n-m+1)
)

输出:

0     40.0
1 45.0
2 50.0
3 55.0
4 60.0
5 65.0
6 70.0
7 75.0
8 80.0
9 85.0
10 90.0
11 74.0
12 57.0
13 39.0
14 20.0
15 0.0
16 NaN
17 NaN
18 NaN
19 NaN
dtype: float64

关于python - 获取 pandas 系列中接下来 5 到 10 个值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66962500/

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