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 相关文章推荐
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
python 动态加载的实现方法
Dec 22 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
python设置表格边框的具体方法
Jul 17 Python
基于OpenCV的网络实时视频流传输的实现
Nov 15 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中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
php中autoload的用法总结
2013/11/08 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
vue二级路由设置方法
2018/02/09 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python文件去除注释的方法
2015/05/25 Python
python字符类型的一些方法小结
2016/05/16 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
实习报告评语
2014/04/26 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
学校党支部承诺书
2015/04/30 职场文书
寒假生活随笔
2015/08/15 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书