在pandas数据帧上移动整个列

时间:2014-04-16 09:25:28

标签: python pandas dataframe shift

我想向右移动整个列,在第一列填充NAN并删除最后一列:

df0:             A  B  C  D
    2013-12-31   10 6  6  5        
    2014-01-31   11 7  5  5
    2014-02-28   15 8  8  8

df1:             A   B  C  D
    2013-12-31   NaN 10 6  6          
    2014-01-31   NaN 11 7  5  
    2014-02-28   NaN 15 8  8  

我的解决方案是将列拆分为Series,然后重新组合数据帧。 有更有效的方法吗?

1 个答案:

答案 0 :(得分:3)

shift按行移位数据。这是我的诀窍

df.T.shift().T

更新

将轴传递为1时出现错误。它已在当前的开发版本中得到解决。如果您居住在最前沿,请使用

df.shift(axis=1)

代替。