为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Pandas DataFrame中移动列

如何在Pandas DataFrame中移动列

森栏 2019-11-28 09:51:12
我想在Pandas中移动一列DataFrame,但是我无法在不重写整个DF的情况下从文档中找到一种方法来做到这一点。有人知道怎么做吗?数据框:##    x1   x2##0  206  214##1  226  234##2  245  253##3  265  272##4  283  291所需的输出:##    x1   x2##0  206  nan##1  226  214##2  245  234##3  265  253##4  283  272##5  nan  291
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

In [18]: a

Out[18]: 

   x1  x2

0   0   5

1   1   6

2   2   7

3   3   8

4   4   9


In [19]: a.x2 = a.x2.shift(1)


In [20]: a

Out[20]: 

   x1  x2

0   0 NaN

1   1   5

2   2   6

3   3   7

4   4   8


查看完整回答
反对 回复 2019-11-28
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

您需要在此处使用df.shift


df.shift(i)将整个数据帧下移i个单位。


所以对于我= 1


输入:


    x1   x2  

0  206  214  

1  226  234  

2  245  253  

3  265  272    

4  283  291

输出:


    x1   x2

0  Nan  Nan   

1  206  214  

2  226  234  

3  245  253  

4  265  272 

因此,运行此脚本以获取预期的输出


import pandas as pd


df = pd.DataFrame({'x1': ['206', '226', '245',' 265', '283'],

                    'x2': ['214', '234', '253', '272', '291']})


print(df)


df['x2'] = df['x2'].shift(1)


print(df)


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 2286 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信