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 相关文章推荐
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
python条件变量之生产者与消费者操作实例分析
Mar 22 Python
python 剪切移动文件的实现代码
Aug 02 Python
python 字典中取值的两种方法小结
Aug 02 Python
python3使用腾讯企业邮箱发送邮件的实例
Jun 28 Python
Python字符串中添加、插入特定字符的方法
Sep 10 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 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.MVC的模板标签系统(二)
2006/09/05 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
python的id()函数解密过程
2012/12/25 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
pandas数据拼接的实现示例
2020/04/16 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
美食节策划方案
2014/05/26 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
讲座通知范文
2015/04/23 职场文书
2015年材料员工作总结
2015/04/30 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
Java界面编程实现界面跳转
2022/06/16 Java/Android