将两个下一行数据添加到Pandas中的当前行

时间:2018-06-07 20:19:35

标签: python pandas dataframe dataset

我有一个股票数据框:

       Date     Open     High      Low    Close  Volume
0  01.05.2018  1.20821  1.20821  1.20793  1.20794  138.96
1  01.05.2018  1.20794  1.20795  1.20787  1.20788  119.61
2  01.05.2018  1.20788  1.20793  1.20770  1.20779  210.42
3  01.05.2018  1.20779  1.20791  1.20779  1.20789   77.51
4  01.05.2018  1.20789  1.20795  1.20789  1.20792   56.97

我想将接下来的两行复制到当前行。或者更清楚的是,新数据帧中的每一行都应该有下两行数据。

1 个答案:

答案 0 :(得分:2)

使用pd.concat

pd.concat({i: df.shift(-i) for i in range(3)}, axis=1)

广义

n = 3
pd.concat({i: df.shift(-i) for i in range(n)}, axis=1).iloc[:len(df) - n + 1]