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 相关文章推荐
浅谈python对象数据的读写权限
Sep 12 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
python实现数据图表
Jul 29 Python
Python pyinotify日志监控系统处理日志的方法
Mar 08 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python使用SQLAlchemy操作MySQL
Jan 02 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 Python
Python 绘制可视化折线图
Jul 22 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
关于时间计算的结总
2006/12/06 PHP
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
解析isset与is_null的区别
2013/08/09 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
Python修改DBF文件指定列
2020/12/19 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
服装设计专业自荐信
2014/06/17 职场文书
职代会闭幕词
2015/01/28 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫