pandas 是否可以将滚动窗口转置为行?
>> df
Close
0 3.69
1 9.14
2 9.49
3 15.84
4 17.00
5 26.31
Run Code Online (Sandbox Code Playgroud)
pandas 中有收费操作,可以给我想要转置的最后 N 个值,但如何将它们插入到行中?
>> df
Close 1 2 3
0 3.69 NaN NaN NaN
1 9.14 3.69 NaN NaN
2 9.49 9.14 3.69 NaN
3 15.84 9.49 9.14 3.69
4 17.00 15.84 9.49 9.14
5 26.31 17.00 15.84 9.49
Run Code Online (Sandbox Code Playgroud)
我认为你需要shift:
N = 3
for x in range(1, N + 1):
df[x] = df['Close'].shift(x)
print (df)
Close 1 2 3
0 3.69 NaN NaN NaN
1 9.14 3.69 NaN NaN
2 9.49 9.14 3.69 NaN
3 15.84 9.49 9.14 3.69
4 17.00 15.84 9.49 9.14
5 26.31 17.00 15.84 9.49
Run Code Online (Sandbox Code Playgroud)
因为rolling使用一些聚合函数,例如sum:
N = 3
for x in range(1, N + 1):
df[x] = df['Close'].rolling(x+1).sum()
print (df)
Close 1 2 3
0 3.69 NaN NaN NaN
1 9.14 12.83 NaN NaN
2 9.49 18.63 22.32 NaN
3 15.84 25.33 34.47 38.16
4 17.00 32.84 42.33 51.47
5 26.31 43.31 59.15 68.64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
437 次 |
| 最近记录: |