【发布时间】:2021-07-01 20:59:18
【问题描述】:
我想总结下一个熊猫系列的下 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)给出答案,那将很有帮助,但我自己也可以弄清楚。 请帮忙。
【问题讨论】:
-
你如何计算``74, 57, 39, 20, ...''
-
您是否希望将最后几行相加为 4、3、2、1 项?
-
是的,74 是 17+18+19+20+0 的总和。同样,57 来自 18+19+20+0+0 以此类推。
标签: python pandas rolling-computation