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 相关文章推荐
MySQL最常见的操作语句小结
May 07 Python
剖析Python的Twisted框架的核心特性
May 25 Python
Python入门教程之运算符与控制流
Aug 17 Python
利用Python生成文件md5校验值函数的方法
Jan 10 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
windows 下python+numpy安装实用教程
Dec 23 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
Python Flask框架扩展操作示例
May 03 Python
python语言的优势是什么
Jun 17 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
python3 删除所有自定义变量的操作
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
php 获取mysql数据库信息代码
2009/03/12 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python 生成目录树及显示文件大小的代码
2009/07/23 Python
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
python利用tkinter实现屏保
2019/07/30 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Python 远程开关机的方法
2020/11/18 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
华为c/c++笔试题
2016/01/25 面试题
农业资源与环境专业自荐信范文
2013/12/30 职场文书
运动会通讯稿500字
2014/02/20 职场文书
建材投资建议书
2014/05/16 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
在校学生证明格式
2015/06/24 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电