输入:
## 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)
答案 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
列,但我希望能够同时显示来源和结果以进行比较