前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析—数据排序

Python数据分析—数据排序

作者头像
阿黎逸阳
发布2020-12-11 10:50:11
1.4K0
发布2020-12-11 10:50:11
举报

在对海量数据进行分析的过程中,可能需要对数据进行排序操作。

本节教大家如何在python中对数据框进行一些排序操作。

本文目录

  1. 总结sort_values函数的用法
  2. 按年龄对行进行升序排列
  3. 按年龄对行进行降序排列
  4. 按年龄升序身高降序排列数据框
  5. 对列进行排序

注意:本文沿用数据分析第一课【Python数据分析—数据建立】里的数据框date_frame:

1 总结sort_values函数的用法

python中默认按行索引号进行排序,如果要自定义数据框的排序,可以用sort_values函数进行重定义排序。

下面对sort_values中几个常用的参数进行讲解,它的具体语法如下:

sort_values(by=[列表],ascending=[True or False], axis=(1 or 0))

其中by后面为要排序的列,可以是一列,也可以是多列。表示首先按第一列,再依次按后面的列进行排序。

ascending=True表示按升序排列,否则为降序排列,默认按升序排列。

axis=1表示对列排序,为0表示对行排序,默认对行排序。

2 按年龄对行进行升序排列

若想按年龄升序排列数据框,可在python中输入如下语句:

代码语言:javascript
复制
date_frame.sort_values(by = ['age'])

得到结果如下:

其中by=['age']表示按年龄排序,默认是升序排列,所以不需要指定ascending的值。

3 按年龄对行进行降序排列

若想按年龄降序排列数据框,可在python中输入如下语句:

代码语言:javascript
复制
date_frame.sort_values(by = ['age'], ascending = False)

得到结果如下:

4 按年龄升序身高降序排列数据框

若想按年龄升序身高降序排列数据框,可在python中输入如下语句:

代码语言:javascript
复制
date_frame.sort_values(by = ['age','height'], ascending = [True,False])

得到结果如下:

ascending中的第一个True表示先对年龄进行升序排列,第二个False表示若年龄相同,再根据身高降序排列。

5 对列进行排序

对列排序,第一种办法是重定义列的顺序进行排序。

假设列的顺序按学号、姓名、年龄、身高、性别进行排序,可以在python中输入如下语句:

代码语言:javascript
复制
date_frame[['ID','name','age','height','gender']]

得到结果如下:

第二种办法是利用axis=1对列进行排序,不过这种排序需要某一行的值是同种类型的,可以比较。

假设我抽取原数据框中的age和height列,具体语句如下:

代码语言:javascript
复制
date_frame[['age','height']]

得到结果如下:

对这两列按第三行的数值进行排序,具体语句如下:

代码语言:javascript
复制
date_frame[['age','height']].sort_values(by = [3], axis=1)

得到结果如下:

由于ascending参数没有指明,默认为升序,所以排序后height列排在age列的前面。

至此,在python中对数据框进行排序操作已介绍完毕,大家可以动手练习一下,思考一下还可不可以对数据框进行别的操作

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档