pandas数值排序的实现实例
作者:不思量自难忘 发布时间:2022-05-13 01:36:48
目录
1.按照一列数值进行排序
1.1按照五缺失值的一列进行排序
1.1.1升序排列
1.1.2 降序排列
1.2按照有缺失值的一列进行排序
1.2.1 缺失值显示在最后
1.2.2 缺失值显示在最前面
2.按照多列数值进行排序
本文用到的表格内容如下:
排序前先来看一下原始情形:
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
此时按照成绩进行升序排列,当成绩相同时再按照年龄进行降序排列。
来源:https://juejin.cn/post/6988136231750090766
猜你喜欢
- 如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子:$unsafe_variable = $_
- 作者的blog:http://www.planabc.netz-index属性简介引用:z-index : auto | numberaut
- 'subject 信息标题 'company 发布信息的公司名称 'cont
- 如何制作一个股票滚屏显示面板?<html> <head> <script
- Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文
- 之前的表单验证都是用js写的,这里也可以使用tp框架的验证。但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度
- 俄罗斯方块是俄罗斯人发明的一款休闲类的小游戏,这款小游戏可以说是很多人童年的主打电子游戏了,本文我们使用 Python 来实现这款小游戏。游
- 首先我们知道这个效果应该是一个老话题了。今天整理文件的时候,发现自己以前的一些布局的解决方法躺在文件夹里很长时间了,翻翻老底吧。需要说明的是
- QQ通过返回不同的图片,来表示在线或离线,图标也随之变换,既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不
- 毫无疑问,这个世界设计无处不在,优美的设计会得到会心的微笑和由衷的赞赏。然而,想从事设计或在设计边缘的人们未必有机会学习专业的设计。实际上,
- 认识pip众所周知,pip可以对python的第三方库进行安装、更新、卸载等操作,十分方便。pip的全称:package installer
- 核心提示:本文针对mysql-noinstall版本,也就是解压缩版的安装配置应用做了个总结,这些操作都是平时很常用的操作。文章中不对mys
- 本文实例讲述了php下pdo的mysql事务处理用法。分享给大家供大家参考。具体分析如下:php+mysql事务处理的几个步骤:1.关闭自动
- 一些很实用且必用的js小脚本代码:脚本1:进入页面后自动播放音乐或其它声音文件<embed src="音乐地址&q
- 众所周知,IE 6只支持单通道的PNG图片(即只有透明/不透明2种状态,gif图片的透明单通道透明),因此如果需要使用alpha透明的png
- 本文实例为大家分享了python绘制雪花的具体代码,供大家参考,具体内容如下代码非常容易理解,画着玩玩还是可以的。直接上代码# -*- co
- 怎么增大MySQL数据库连接数,MYSQL数据库安装完成后,默认连接数是100,流量稍微大一点的论坛或网站这个连接数是不够哟用
- 本文实例讲述了Python基于pillow判断图片完整性的方法。分享给大家供大家参考,具体如下:1、安装第三方库。pip install p
- 1、argparse是一个python模块,用途是:命令行选项、参数和子命令的解释。2、使用步骤:导入argparse模块,并创建解释器添加
- 前言首先要明确Go语言中实质只有值传递,引用传递和指针传递是相对于参数类型来说。个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装