pandas中的DataFrame按指定顺序输出所有列的方法

yipeiwu_com5年前Python基础

问题:

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

例如:

import pandas as pd
grades = [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 Passed
0 algebra  True  2007  F  48 x0   yes  no
1 stats  True  2007  M  99 x1   yes yes
2  bio  True  2007  F  75 x2   yes yes
3 algebra False  2008  M  80 x3   yes yes
4 algebra False  2008  F  42 x4   no  no
5 stats False  2008  M  80 x5   yes yes
6 stats False  2008  F  72 x6   yes yes
7 algebra  True  2009  M  68 x7   yes yes
8  bio  True  2009  M  36 x8   yes  no
9  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 Grade
0 x0  F  2007 algebra   yes  no  True  48
1 x1  M  2007 stats   yes yes  True  99
2 x2  F  2007  bio   yes yes  True  75
3 x3  M  2008 algebra   yes yes False  80
4 x4  F  2008 algebra   no  no False  42
5 x5  M  2008 stats   yes yes False  80
6 x6  F  2008 stats   yes yes False  72
7 x7  M  2009 algebra   yes yes  True  68
8 x8  M  2009  bio   yes  no  True  36
9 x9  M  2009  bio   yes yes False  78

以上这篇pandas中的DataFrame按指定顺序输出所有列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python数据类型中的“冒号“[::]——分片与步长操作示例

Python数据类型中的“冒号“[::]——分片与步长操作示例

本文实例讲述了Python数据类型中的“冒号“[::]——分片与步长操作。分享给大家供大家参考,具体如下: 例如有如下字符串: string = "welcome to jb51^_...

python中的多线程实例教程

本文以实例形式较为详细的讲述了Python中多线程的用法,在Python程序设计中有着比较广泛的应用。分享给大家供大家参考之用。具体分析如下: python中关于多线程的操作可以使用th...

python+ffmpeg视频并发直播压力测试

通过python与ffmpeg结合使用,可生成进行视频点播、直播的压力测试脚本。可支持不同类型的视频流,比如rtmp或者hls形式。 通过如下方式执行脚本:python multiRe...

python3下实现搜狗AI API的代码示例

1、背景 a、搜狗也发布了自己的人工智能 api,包括身份证ocr、名片ocr、文本翻译等API,初试感觉准确率一般般。 b、基于python3。 c、也有自己的签名生成这块,有了鹅厂的...

Python学习小技巧之列表项的拼接

本文介绍的是关于Python实现列表项拼接的一个小技巧,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码: data_list = ['a', 'b', 'c', 'd',...