首页 > 解决方案 > 将两个下一行数据添加到 Pandas 中的当前行

问题描述

我有一个股票数据框:

       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

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

标签: pythonpandasdataframedataset

解决方案


利用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]

推荐阅读