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 相关文章推荐
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
Python入门之三角函数tan()函数实例详解
Nov 08 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Python如何实现的二分查找算法
May 27 Python
pandas apply多线程实现代码
Aug 17 Python
python 多线程中join()的作用
Oct 29 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 Python
浅谈Python协程asyncio
Jun 20 Python
Pandas数据结构之Series的使用
Mar 31 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加密函数 Javascript/Js 解密函数
2013/09/23 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
Python中的异常处理学习笔记
2015/01/28 Python
python实现简单遗传算法
2018/03/19 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
环境保护标语
2014/06/20 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript