我必须使用window size = 3
创建输入数据的滑动窗口
数据框
0 1
0 1 2
1 3 4
2 5 6
3 7 8
所需的输出:
0 1 2 3 4 5
0 1 2 NA NA NA NA
1 3 4 1 2 NA NA
2 5 6 3 4 1 2
3 7 8 5 6 3 4
我使用了data.values.flatten()
,但是它转换了dataframe
中nested list
中的所有行。
如何从dataframe
答案 0 :(得分:1)
您可以concat
:
new_df = pd.concat([df.shift(i) for i in range(3)], axis=1)
# rename columns
new_df.columns = np.arange(new_df.shape[1])
输出:
0 1 2 3 4 5
0 1 2 NaN NaN NaN NaN
1 3 4 1.0 2.0 NaN NaN
2 5 6 3.0 4.0 1.0 2.0
3 7 8 5.0 6.0 3.0 4.0