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程序设计入门(5)类的使用简介
Jun 16 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
python 远程统计文件代码分享
May 14 Python
python中使用正则表达式的连接符示例代码
Oct 10 Python
python字符串与url编码的转换实例
May 10 Python
python发送告警邮件脚本
Sep 17 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python 图片去噪的方法示例
Jul 09 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
Python进行特征提取的示例代码
Oct 15 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 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 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
python分析nignx访问日志脚本分享
2015/02/26 Python
Python 多进程和数据传递的理解
2017/10/09 Python
Python csv模块使用方法代码实例
2019/08/29 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
从python读取sql的实例方法
2020/07/21 Python
容易被忽略的Python内置类型
2020/09/03 Python
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
模具设计与制造专业应届生求职信
2013/10/18 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
小学中秋节活动方案
2014/02/06 职场文书
母亲节感恩寄语
2014/02/21 职场文书
检查接待方案
2014/02/27 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
大学生读书笔记范文
2015/07/01 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
Go语言基础函数基本用法及示例详解
2021/11/17 Golang