Python实现EXCEL表格的排序功能示例


Posted in Python onJune 25, 2019

EXCEL的数值排序功能还是挺强大的,升序、降序,尤其自定义排序,能够对多个字段进行排序工作。

那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Python的排序功能,一点不比EXCEL的差。

同样,我们依然用到的是强大的pandas这个三方库。我们先将numpy和pandas导入进来:

Python实现EXCEL表格的排序功能示例

接着构造一个今天要用到的DataFrame,我们用字典的形式来构造。

Python实现EXCEL表格的排序功能示例

都是随意构造的,内容别较真。我们先来个简单点的热热身,按照身高的降序来排列一下。

Python实现EXCEL表格的排序功能示例

我们用到的是df.sort_values()这个函数。第一个参数为by,传入你要排序的列的标签名即可,后面的ascending参数指示排序方法为升序还是降序,True为升序,False为降序。由于存在相同的身高,pandas会自动的比较两个相同身高所对应的index,按照index的升序来排列。

假如我有这样一个需求:先按照身高降序排序,若存在相同的身高,则再按照武力来降序排序,可以做到吗?

当然可以,我们只需要在by参数里传入列标签组成的列表即可。

Python实现EXCEL表格的排序功能示例

通过这个例子我们可以看到,by参数不但可以传入字符串,还可以传入字符串组成的列表,来实现对多个列进行排序。

接着,我的要求再高一点。身高我依然需要降序,但是武力我需要升序,可以吗?

我们直接上结果:

Python实现EXCEL表格的排序功能示例

跟by参数类似,我们只需要在ascending参数中也传入布尔值组成的列表就可以了,意思就是告诉pandas,这两列我各自需要的排序方式,就跟后面ascending参数里指定的一样。因此,这两个参数的列表内的元素个数需要是一致的,否则就会报错了,因为没法一一对应。

关于sort_values这个强大的排序函数就介绍到这了。除了这些参数之外,它还有inplace、kind和na_position等参数来应对不同的排序需求。可以参考官网文档进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
Python信息抽取之乱码解决办法
Jun 29 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
Python中最大递归深度值的探讨
Mar 05 Python
详解python 爬取12306验证码
May 10 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
详解Scrapy Redis入门实战
Nov 18 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
使用pandas生成/读取csv文件的方法实例
Jul 09 Python
python实现动态创建类的方法分析
Jun 25 #Python
python pandas写入excel文件的方法示例
Jun 25 #Python
python多线程http压力测试脚本
Jun 25 #Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 #Python
对PyQt5的输入对话框使用(QInputDialog)详解
Jun 25 #Python
如何使用Python标准库进行性能测试
Jun 25 #Python
python绘制评估优化算法性能的测试函数
Jun 25 #Python
You might like
十天学会php之第九天
2006/10/09 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
php实现socket推送技术的示例
2017/12/20 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
Moment.js实现多个同时倒计时
2019/08/26 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
Python下载指定页面上图片的方法
2016/05/12 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
Python __slots__的使用方法
2020/11/15 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
大学生新闻专业个人自我评价
2013/11/12 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
策划总监岗位职责
2014/02/16 职场文书
地理教师岗位职责
2014/03/16 职场文书
陈欧的广告词
2014/03/18 职场文书
党校培训自我鉴定范文
2014/03/20 职场文书
参赛口号
2014/06/16 职场文书
营运督导岗位职责
2015/04/10 职场文书