Python实现EXCEL表格的排序功能示例

yipeiwu_com5年前Python基础

EXCEL的数值排序功能还是挺强大的,升序、降序,尤其自定义排序,能够对多个字段进行排序工作。

那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Python的排序功能,一点不比EXCEL的差。

同样,我们依然用到的是强大的pandas这个三方库。我们先将numpy和pandas导入进来:

接着构造一个今天要用到的DataFrame,我们用字典的形式来构造。

都是随意构造的,内容别较真。我们先来个简单点的热热身,按照身高的降序来排列一下。

我们用到的是df.sort_values()这个函数。第一个参数为by,传入你要排序的列的标签名即可,后面的ascending参数指示排序方法为升序还是降序,True为升序,False为降序。由于存在相同的身高,pandas会自动的比较两个相同身高所对应的index,按照index的升序来排列。

假如我有这样一个需求:先按照身高降序排序,若存在相同的身高,则再按照武力来降序排序,可以做到吗?

当然可以,我们只需要在by参数里传入列标签组成的列表即可。

通过这个例子我们可以看到,by参数不但可以传入字符串,还可以传入字符串组成的列表,来实现对多个列进行排序。

接着,我的要求再高一点。身高我依然需要降序,但是武力我需要升序,可以吗?

我们直接上结果:

跟by参数类似,我们只需要在ascending参数中也传入布尔值组成的列表就可以了,意思就是告诉pandas,这两列我各自需要的排序方式,就跟后面ascending参数里指定的一样。因此,这两个参数的列表内的元素个数需要是一致的,否则就会报错了,因为没法一一对应。

关于sort_values这个强大的排序函数就介绍到这了。除了这些参数之外,它还有inplace、kind和na_position等参数来应对不同的排序需求。可以参考官网文档进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python minidom模块用法示例【DOM写入和解析XML】

本文实例讲述了Python minidom模块用法。分享给大家供大家参考,具体如下: 一、DOM写XML文件 # -*- coding:utf-8 -*- #!python3 #导入...

Python正则表达式急速入门(小结)

Python正则表达式急速入门(小结)

正则表达式在程序开发中会经常用到,比如数据(格式)验证、替换字符内容以及提取字符串内容等等情况都会用到,但是目前许多开发人员对于正则表达式只是处于了解或者是基本会用的阶段。一旦遇到大批量...

Python利用operator模块实现对象的多级排序详解

前言 最近在工作中碰到一个小的排序问题,需要按嵌套对象的多个属性来排序,于是发现了Python里的operator模块和sorted函数组合可以实现这个功能。本文介绍了Python用op...

python 图片二值化处理(处理后为纯黑白的图片)

python 图片二值化处理(处理后为纯黑白的图片)

先随便招一张图片test.jpg做案例 然后对图片进行处理 # 图片二值化 from PIL import Image img = Image.open('test.jpg')...

基于python中pygame模块的Linux下安装过程(详解)

一、使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip。在Python3中,pip有时被称为pip3. 1、在Linux和OS...