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 相关文章推荐
用map函数来完成Python并行任务的简单示例
Apr 02 Python
python利用requests库模拟post请求时json的使用教程
Dec 07 Python
关于Python作用域自学总结
Jun 10 Python
在Django的View中使用asyncio的方法
Jul 12 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
Jul 26 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 Python
学习Python爬虫的几点建议
Aug 05 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/01/26 PHP
php解析xml方法实例详解
2015/05/12 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
Python3中exp()函数用法分析
2019/02/19 Python
Python发展简史 Python来历
2019/05/14 Python
Python修改DBF文件指定列
2020/12/19 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
小学毕业寄语大全
2014/04/03 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
公司离职证明标准范本
2014/10/05 职场文书
保姆聘用合同
2015/09/21 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
Redis可视化客户端小结
2021/06/10 Redis