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中的包和模块实例
Nov 22 Python
Python中Django框架下的staticfiles使用简介
May 30 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 Python
解决Python中回文数和质数的问题
Nov 24 Python
python模拟点击网页按钮实现方法
Feb 25 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
如何理解Python中包的引入
May 29 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
python实现移动木板小游戏
Oct 09 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 Python
在Python 中将类对象序列化为JSON
Apr 06 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去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
ThinkPHP CURD方法之order方法详解
2014/06/18 PHP
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
Node.js实现数据推送
2016/04/14 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
微信小程序中setInterval的使用方法
2017/09/29 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
Python六大开源框架对比
2015/10/19 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
python利用platform模块获取系统信息
2020/10/09 Python
九年级体育教学反思
2014/01/23 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
国际贸易实训报告
2014/11/05 职场文书
体检通知范文
2015/04/21 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书