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 open读写文件实现脚本
Sep 06 Python
Python中字符串的处理技巧分享
Sep 17 Python
Python实现的科学计算器功能示例
Aug 04 Python
Python实现的文本对比报告生成工具示例
May 22 Python
python实现贪吃蛇游戏
Mar 21 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
django的ORM模型的实现原理
Mar 04 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
PyQt5 QDockWidget控件应用详解
Aug 12 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实现的双向队列类实例
2014/09/24 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
JS日历 推荐
2006/12/03 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python中的元类编程入门指引
2015/04/15 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
python中json格式数据输出的简单实现方法
2016/10/31 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
python 实现视频 图像帧提取
2019/12/10 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
励志演讲稿300字
2014/08/21 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
学校就业保障协议书
2019/06/24 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python
在CSS中使用when/else的方法
2022/01/18 HTML / CSS