我想知道是否有任何快速的方法来总结dataframe的besides行。我可以用python for循环来做,但它很慢,所以我想知道是否有任何方法可以在运行更快的情况下做同样的事情。
下面是一个代码示例,说明我正在尝试做什么。
import pandas as pd
dictionary = {
'In':[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
}
df = pd.DataFrame(dictionary)
forecast = 1
temp = []
for i in range(len(df["1"])):
temp = temp + [sum(df["In"][i - forecast : i + forecast + 1])]
df["Out"] = temp
df["Out"][:forecast] = None
df["Out"][-forecast:] = None
print(df)
#Output:
In Out
0 1 NaN
1 2 6.0 #(1+2+3)
2 3 9.0 #(2+3+4)
3 4 12.0 ...
4 5 15.0
5 6 18.0
6 7 21.0
7 8 24.0
8 9 27.0
9 10 30.0
10 11 33.0
11 12 36.0
12 13 39.0
13 14 42.0
14 15 NaN
1条答案
按热度按时间ulydmbyx1#
您可以使用
rolling
sum并设置center=True