我有一个股票数据框:
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
我想将接下来的两行复制到当前行。或者更清楚的是,新数据帧中的每一行都应该有下两行数据。
答案 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]