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 01 Python
python定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
python flask 多对多表查询功能
Jun 25 Python
python Opencv将图片转为字符画
Feb 19 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
Python socket 套接字实现通信详解
Aug 27 Python
python自动发微信监控报警
Sep 06 Python
Python通过递归获取目录下指定文件代码实例
Nov 07 Python
Python3常见函数range()用法详解
Dec 30 Python
python文件排序的方法总结
Sep 13 Python
python热力图实现简单方法
Jan 29 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
jquery text()要注意啦
2009/10/30 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
浅谈Python中数据解析
2015/05/05 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
比利时香水网上商店:NOTINO
2018/03/28 全球购物
修理厂厂长岗位职责
2014/01/30 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
新闻稿件写作范文
2015/07/18 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL