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中 Lambda表达式全面解析
Nov 28 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
实例讲解python中的协程
Oct 08 Python
Python 判断奇数偶数的方法
Dec 20 Python
python3对接mysql数据库实例详解
Apr 30 Python
Python3.5字符串常用操作实例详解
May 01 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
基于python实现文件加密功能
Jan 06 Python
Python 实现opencv所使用的图片格式与 base64 转换
Jan 09 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 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初学者们头痛的十四个问题
2007/01/15 PHP
php反弹shell实现代码
2009/04/22 PHP
php checkbox 取值详细说明
2010/08/19 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
js变量提升深入理解
2016/09/16 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
python实现ID3决策树算法
2017/12/20 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
python中re模块知识点总结
2021/01/17 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
大学生职业生涯规划范文
2014/01/22 职场文书
法人授权委托书格式
2014/04/08 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
个人向公司借款协议书
2014/10/09 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python