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统计列表中的重复项出现的次数的方法
Aug 18 Python
搞笑的程序猿:看看你是哪种Python程序员
Jun 12 Python
Python入门学习之字符串与比较运算符
Oct 12 Python
python数据清洗系列之字符串处理详解
Feb 12 Python
书单|人生苦短,你还不用python!
Dec 29 Python
名片管理系统python版
Jan 11 Python
python在非root权限下的安装方法
Jan 23 Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 Python
python中的global关键字的使用方法
Aug 20 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
python操作yaml说明
Apr 08 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
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
script标签属性type与language使用选择
2012/12/02 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
flask入门之表单的实现
2018/07/18 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
小学教师听课制度
2014/02/01 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
老龙头导游词
2015/02/11 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL