pandas数值排序的实现实例


Posted in Python onJuly 25, 2021

本文用到的表格内容如下:

pandas数值排序的实现实例

排序前先来看一下原始情形:

import pandas as pd
​
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df)

result:
   姓名     年龄  成绩
0  小明   23.0  78
1  小刚    NaN  89
2  小红  876.0  65
3  李华   65.0  89
4  小美    NaN  43
5  张三   34.0  90
6  李四    NaN  34
7  王五   98.5  87

1.按照一列数值进行排序

按照某一列数值进行排序就是整个数据表都要以某一列为准,进行升序或降序
排序需要用到sort_values()方法,在sort_values()方法中要通过by参数指明要排序的列名,通过ascending参数知名升序还是降序。

1.1按照五缺失值的一列进行排序

1.1.1升序排列

该方法默认升序排列(即ascending参数的默认值是True),使用by参数用来指定需要排序的列名

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩"]))

result:
   姓名     年龄  成绩
6  李四    NaN  34
4  小美    NaN  43
2  小红  876.0  65
0  小明   23.0  78
7  王五   98.5  87
1  小刚    NaN  89
3  李华   65.0  89
5  张三   34.0  90

1.1.2 降序排列

只要设置ascending参数的值为False,即可实现降序排列

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩"], ascending=False))

result:
   姓名     年龄  成绩
5  张三   34.0  90
1  小刚    NaN  89
3  李华   65.0  89
7  王五   98.5  87
0  小明   23.0  78
2  小红  876.0  65
4  小美    NaN  43
6  李四    NaN  34

1.2按照有缺失值的一列进行排序

当待排序的列中有缺失值时,可以通过设置na_position参数对缺失值的显示位置进行设置

1.2.1 缺失值显示在最后

该方法默认缺失值显示在最后(na_position参数的默认值是last)

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩"]))

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["年龄"]))

result:
   姓名     年龄  成绩
0  小明   23.0  78
5  张三   34.0  90
3  李华   65.0  89
7  王五   98.5  87
2  小红  876.0  65
1  小刚    NaN  89
4  小美    NaN  43
6  李四    NaN  34

1.2.2 缺失值显示在最前面

只要设置na_position参数的值为first,即可实现缺失值显示在最前面

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["年龄"], na_position='first'))

result:
   姓名     年龄  成绩
1  小刚    NaN  89
4  小美    NaN  43
6  李四    NaN  34
0  小明   23.0  78
5  张三   34.0  90
3  李华   65.0  89
7  王五   98.5  87
2  小红  876.0  65

2.按照多列数值进行排序

按照多列数值排序是指同时依据多列数据进行升序、降序排列。当第一列出现重复值时按照第二列进行排序,第二列出现重复值时按照第三列进行排序,依次类推。
此时在sort_values()方法中需要排序的多个列名要以列表的形式传递给by参数,需要每个排序的列名所对应的排序方式也要以列表的形式传递给ascending参数,二者的列表要一一对应。

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩", "年龄"], ascending=[True, False]))

result:
   姓名     年龄  成绩
6  李四    NaN  34
4  小美    NaN  43
2  小红  876.0  65
0  小明   23.0  78
7  王五   98.5  87
3  李华   65.0  89
1  小刚    NaN  89
5  张三   34.0  90

此时按照成绩进行升序排列,当成绩相同时再按照年龄进行降序排列。

到此这篇关于pandas数值排序的实现实例的文章就介绍到这了,更多相关pandas数值排序内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
Jan 20 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
Python编程实现控制cmd命令行显示颜色的方法示例
Aug 14 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
Nov 14 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
jupyter notebook快速入门及使用详解
Nov 13 Python
python非标准时间的转换
Jul 25 #Python
OpenCV 图像梯度的实现方法
Jul 25 #Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 #Python
Pandas自定义选项option设置
Jul 25 #Python
Pandas 稀疏数据结构的实现
Jul 25 #Python
Python中rapidjson参数校验实现
Jul 25 #Python
理解python中装饰器的作用
Jul 21 #Python
You might like
用PHP发电子邮件
2006/10/09 PHP
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
javascript常用对话框小集
2013/09/13 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
JS继承用法实例分析
2015/02/05 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
浅析Ajax语法
2016/12/05 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
零基础写python爬虫之神器正则表达式
2014/11/06 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
Pytorch之保存读取模型实例
2019/12/30 Python
python numpy库np.percentile用法说明
2020/06/08 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
python如何随机生成高强度密码
2020/08/19 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
租房合同协议书
2014/04/09 职场文书
老公保证书范文
2014/04/29 职场文书
服装设计师求职信
2014/06/04 职场文书
小学校长汇报材料
2014/08/20 职场文书
公司搬迁通知
2015/04/20 职场文书
校车安全管理责任书
2015/05/11 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python