在pandas数据框中移动整个列

1 投票
1 回答
2632 浏览
提问于 2025-04-18 02:56

我想把整个列向右移动,把第一列填充为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 个回答

3

shift 是一个可以让数据按行移动的功能。这里有个小技巧。

df.T.shift().T

更新

当把轴设置为1时会出现一个错误,这个问题在当前的开发版本中已经解决了。如果你使用的是最新版本,可以用

df.shift(axis=1)

来代替。

撰写回答