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六大开源框架对比
Oct 19 Python
python解决字符串倒序输出的问题
Jun 25 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
python dict 相同key 合并value的实例
Jan 21 Python
基于python历史天气采集的分析
Feb 14 Python
Python File(文件) 方法整理
Feb 18 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
python实现贪吃蛇游戏源码
Mar 21 Python
django haystack实现全文检索的示例代码
Jun 24 Python
python判断字符串以什么结尾的实例方法
Sep 18 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 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的header和asp中的redirect比较
2006/10/09 PHP
PHP与javascript的两种交互方式
2006/10/09 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
动手学习无线电
2021/03/10 无线电
javascript options属性集合操作代码
2009/12/28 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
Python中zfill()方法的使用教程
2015/05/20 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
python3爬取各类天气信息
2018/02/24 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
电子信息工程自荐信
2014/05/26 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
趣味运动会广播稿
2015/08/19 职场文书
党员廉政准则心得体会
2016/01/20 职场文书