说我有一个数据框:
Audio
我希望运行类似 x y
0 1 5
1 2 4
2 3 3
3 4 2
4 5 1
的内容,它不仅会将df.y.shift(3)
向下移动3行,还会为y
创建三个新行,这些行为空,以便数据框变为
x
x y
0 1 N
1 2 N
2 3 N
3 4 5
4 5 4
5 N 3
6 N 2
7 N 1
移位运算符似乎只将列向下移动n行,但也会#34;敲击#34;列表中的n个项目。我想将这些项目保留在我的新数据框中。
答案 0 :(得分:1)
您可以先重新编制索引,然后只移动其中一列:
df = df.reindex(range(8))
df["y"] = df.y.shift(3)
x y
0 1.0 NaN
1 2.0 NaN
2 3.0 NaN
3 4.0 5.0
4 5.0 4.0
5 NaN 3.0
6 NaN 2.0
7 NaN 1.0