博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pandas中的DataFrame按指定顺序输出所有列的方法
阅读量:4360 次
发布时间:2019-06-07

本文共 2264 字,大约阅读时间需要 7 分钟。

问题:

输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致。

例如:

import pandas as pdgrades = [48,99,75,80,42,80,72,68,36,78]df = pd.DataFrame( {'ID': ["x%d" % r for r in range(10)],                    'Gender' : ['F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'],                    'ExamYear': ['2007','2007','2007','2008','2008','2008','2008','2009','2009','2009'],                    'Class': ['algebra', 'stats', 'bio', 'algebra', 'algebra', 'stats', 'stats', 'algebra', 'bio', 'bio'],                    'Participated': ['yes','yes','yes','yes','no','yes','yes','yes','yes','yes'],                    'Passed': ['yes' if x > 50 else 'no' for x in grades],                    'Employed': [True,True,True,False,False,False,False,True,True,False],                    'Grade': grades})print(df)

输出为:

Class Employed ExamYear Gender Grade ID Participated Passed0 algebra  True  2007  F  48 x0   yes  no1 stats  True  2007  M  99 x1   yes yes2  bio  True  2007  F  75 x2   yes yes3 algebra False  2008  M  80 x3   yes yes4 algebra False  2008  F  42 x4   no  no5 stats False  2008  M  80 x5   yes yes6 stats False  2008  F  72 x6   yes yes7 algebra  True  2009  M  68 x7   yes yes8  bio  True  2009  M  36 x8   yes  no9  bio False  2009  M  78 x9   yes yes

解决办法

在以上代码中增加以下代码:

cols=['ID','Gender','ExamYear','Class','Participated','Passed','Employed','Grade']df=df.ix[:,cols]

df=df.ix[:,cols]语句表示,DataFrame的行索引不变,列索引是cols中给定的索引。

输出为:

ID Gender ExamYear    Class Participated Passed  Employed  Grade0  x0      F     2007  algebra          yes     no      True     481  x1      M     2007    stats          yes    yes      True     992  x2      F     2007      bio          yes    yes      True     753  x3      M     2008  algebra          yes    yes     False     804  x4      F     2008  algebra           no     no     False     425  x5      M     2008    stats          yes    yes     False     806  x6      F     2008    stats          yes    yes     False     727  x7      M     2009  algebra          yes    yes      True     688  x8      M     2009      bio          yes     no      True     369  x9      M     2009      bio          yes    yes     False     78

来源于https://www.zhangshengrong.com/p/ArXGrLDBNj/

转载于:https://www.cnblogs.com/hankleo/p/11478864.html

你可能感兴趣的文章
【转载】zookeeper 分布式锁 实现
查看>>
SQL语法
查看>>
Django(三) ORM 数据库操作
查看>>
【转】iOS静态库 【.a 和framework】【超详细】
查看>>
【转】Android中自定义控件的步骤
查看>>
软件测试工作中的沟通问题
查看>>
format 的用法,9*9乘法表
查看>>
mysql--5
查看>>
uva11214 Guarding the Chessboard
查看>>
CentOS6.4下Git服务器Gitosis安装配置
查看>>
007 斐波那契数列
查看>>
《Docker入门实战》笔记(一)
查看>>
hdu 3635 Dragon Balls (并查集)
查看>>
文件操作
查看>>
7.java集合,泛型简单总结,IO流
查看>>
杭电2007 平方和与立方和
查看>>
JS邮箱验证-正则验证
查看>>
关于SQL查询效率,100w数据,查询只要1秒
查看>>
Quartz 2D绘图
查看>>
JS Fetch
查看>>