设置熊猫数据框中列的顺序

新手上路,请多包涵

有没有一种方法可以根据我的个人喜好对 pandas 数据框中的列进行重新排序(即不是按字母顺序或数字顺序排序,而是更像是遵循某些约定)?

简单示例:

 frame = pd.DataFrame({
        'one thing':[1,2,3,4],
        'second thing':[0.1,0.2,1,2],
        'other thing':['a','e','i','o']})

产生这个:

    one thing other thing  second thing
0          1           a           0.1
1          2           e           0.2
2          3           i           1.0
3          4           o           2.0

但是相反,我想要这样:

    one thing second thing  other thing
0          1           0.1           a
1          2           0.2           e
2          3           1.0           i
3          4           2.0           o

(请提供一个通用的解决方案,而不是针对这种情况。非常感谢。)

原文由 durbachit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 192
2 个回答

只需输入列名,自己选择顺序即可。注意双括号:

 frame = frame[['column I want first', 'column I want second'...etc.]]

原文由 A.Kot 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以使用这个:

 columnsTitles = ['onething', 'secondthing', 'otherthing']

frame = frame.reindex(columns=columnsTitles)

原文由 Okroshiashvili 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题