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中用于处理字符串的center()方法
May 18 Python
玩转python爬虫之URLError异常处理
Feb 17 Python
Python中几种导入模块的方式总结
Apr 27 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
python解析命令行参数的三种方法详解
Nov 29 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
python 实现表情识别
Nov 21 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 静态变量的初始化
2009/11/15 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
js数组操作常用方法
2014/05/08 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
Javascript执行流程细节原理解析
2020/05/14 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
跟老齐学Python之总结参数的传递
2014/10/10 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
2015年度护士个人工作总结
2015/04/09 职场文书
停发工资证明范本
2015/06/12 职场文书
运动会新闻稿
2015/07/17 职场文书
三好学生竞选稿范文
2019/08/21 职场文书