Pandas Shift列但添加新行,其中非移位列为null

时间:2018-06-11 19:25:29

标签: python pandas

说我有一个数据框:

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个项目。我想将这些项目保留在我的新数据框中。

1 个答案:

答案 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