使用当前行值pandas dataframe填充下一行

时间:2016-05-19 13:39:30

标签: pandas

我有一个像

这样的df
    df.head(8)
Out[105]: 
            Next_3rdF
Prev_3rdF            
1979-12-21 1980-02-15
1980-01-18 1980-03-21
1980-02-15 1980-04-18
1980-03-21 1980-05-16
1980-04-18 1980-06-20
1980-05-16 1980-07-18
1980-06-20 1980-08-15
1980-07-18 1980-09-19

从第一个索引开始,我想用第一个索引值填充下一个2行,然后用索引4值填充4,5,6这个模式用于整个数据帧,如:

    df.head(8)
Out[105]: 
            Next_3rdF
Prev_3rdF            
1979-12-21 1980-02-15
1980-01-18 1980-02-15
1980-02-15 1980-02-15
1980-03-21 1980-05-16
1980-04-18 1980-05-16
1980-05-16 1980-05-16
1980-06-20 1980-08-15
1980-07-18 1980-08-15

任何简单的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢@EdChum

我找到了一个方法
df2 = pd.DataFrame(df.iloc[1::3].values, index=df.iloc[1::3].index, columns=['arranged'])
df = df.join(df2).fillna(method='ffill')

谢谢!