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 13 Python
Python3 能振兴 Python的原因分析
Nov 28 Python
Python在图片中添加文字的两种方法
Apr 29 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
python实现烟花小程序
Jan 30 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 Python
Python anaconda安装库命令详解
Oct 16 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
Jun 21 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
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
python通过smpt发送邮件的方法
2015/04/30 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
Python如何用filter函数筛选数据
2020/03/05 Python
Python函数生成器原理及使用详解
2020/03/12 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
企业为何需要商业计划书
2013/12/26 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby
python中 Flask Web 表单的使用方法
2022/05/20 Python
Django框架模板用法详解
2022/06/10 Python