在不丢失数据的情况下在pandas中移动列

时间:2016-03-27 01:49:34

标签: python pandas data-analysis

输入:

##      x2
##0    214
##1    234
##2    253
##3    272
##4    291

期望的输出:

##     x2
##0    291
##1    214
##2    234
##3    253
##4    272

以下代码消除了移位列的底部并将NA置于顶部。但是,我希望它作为一个循环。

a = pd.DataFrame([214,234,253,272,291], columns=['x2'])
a.x2 = a.x2.shift(1) 

1 个答案:

答案 0 :(得分:1)

我会在致电fillna之后将一个电话串起来填充shift

import pandas
a = pandas.DataFrame([214,234,253,272,291], columns=['x2'])
a['x3'] = a.shift(1).fillna(a['x2'].iloc[-1])
print(a)

   x2   x3
0  214  291
1  234  214
2  253  234
3  272  253
4  291  272

您可以直接重新分配到x2列,但我希望能够同时显示来源和结果以进行比较