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中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
pycharm远程调试openstack代码
Nov 21 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
python3实现多线程聊天室
Dec 12 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
Python reversed函数及使用方法解析
Mar 17 Python
Python实现动态循环输出文字功能
May 07 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
Python爬虫与反爬虫大战
Jul 30 Python
在 Python 中使用 MQTT的方法
Aug 18 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数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
js中indexof的用法详细解析
2013/12/24 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
python中实现k-means聚类算法详解
2017/11/11 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
python调用摄像头的示例代码
2020/09/28 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
数学国培研修感言
2014/02/13 职场文书
保护环境演讲稿
2014/05/10 职场文书
课内比教学心得体会
2014/09/09 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
记者节感言
2015/08/03 职场文书
学习心得体会
2019/06/20 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js