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函数帮助查询小工具
Mar 13 Python
Python实现新浪博客备份的方法
Apr 27 Python
Python中表示字符串的三种方法
Sep 06 Python
每天迁移MySQL历史数据到历史库Python脚本
Apr 13 Python
详解python3中zipfile模块用法
Jun 18 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
简单了解Python3里的一些新特性
Jul 13 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
Pytorch 保存模型生成图片方式
Jan 10 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
Python识别验证码的实现示例
Sep 30 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
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
理解javascript async的用法
2017/08/22 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
python3.x 将byte转成字符串的方法
2018/07/17 Python
python匿名函数用法实例分析
2019/08/03 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
tensorflow多维张量计算实例
2020/02/11 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
英国电气世界:Electrical World
2019/09/08 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
运动会致辞稿50字
2014/02/04 职场文书
职工趣味运动会方案
2014/02/10 职场文书
视光学专业自荐信
2014/06/24 职场文书
社区综治工作汇报
2014/10/27 职场文书
产品调价通知函
2015/04/20 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
小学语文教学反思范文
2016/03/03 职场文书