pandas数值排序的实现实例
作者:不思量自难忘 发布时间:2022-05-13 01:36:48
目录
1.按照一列数值进行排序
1.1按照五缺失值的一列进行排序
1.1.1升序排列
1.1.2 降序排列
1.2按照有缺失值的一列进行排序
1.2.1 缺失值显示在最后
1.2.2 缺失值显示在最前面
2.按照多列数值进行排序
本文用到的表格内容如下:
排序前先来看一下原始情形:
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
此时按照成绩进行升序排列,当成绩相同时再按照年龄进行降序排列。
来源:https://juejin.cn/post/6988136231750090766


猜你喜欢
- 本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法。分享给大家供大家参考。具体分析如下:添加以下代码到setti
- 作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署到远程服务器上,这样,广大用户才能访问到网站。很多做开发的
- 大家都在关注视觉的盛宴,西方的美学;今天就分享下,中国最为古老的美,也是身边随处可见的美学–中国汉字书法之美;古文者,仓颉做造也。仰观奎星园
- 本文实例为大家分享了python实现文件批量重命名,供大家参考,具体内容如下讲解1、库:os2、代码效果:对指定文件夹内所有文件重命名为1,
- require 方法的加载规则优先从缓存中加载核心模块路径形式的模块第三方模块一、优先从缓存中加载main.js:执行加载a.js模块req
- 一个封装好的链接Oracle数据库的工具类,可以方便的获取Connection对象关闭Statement、ResultSet、Statmen
- 前言版本:windows 10.0python 3.8问题简述近期看到这么一个问题,有把值分别赋值给不同的变量,想在比较大小后得到变量的名称
- 一、PEP 8规范官方文档:https://legacy.python.org/dev/peps/pep-0008/中文翻译: https:
- 需要用到的包:beautifulsoup4 html5lib image requests redis PyMySQLpip安装所有依赖包:
- 查看表空间的名称及大小代码如下:SQL>select t.tablespace_name, round(sum(bytes/(1024
- 一、安装 → pyinstaller1.1 方式1:cmd1. 调出运行窗口:win + r, 并输入 cmd2. 切换到 pip.exe
- 废话不多说,看代码吧!'''待完善。此代码实现了,根据标注文本的属性,数值,位置,及 容差,去判断 设计 和 实测两
- 用实例来说明 import 的作用吧。创建以下包结构。一个文件夹 cookFish/,下面包含两个文件, __init__.py和cookB
- 一 、python模块 xml.dom 解析XML的APIminidom.parse(filename)加载读取XML文件doc.docum
- python爬虫中使用urli库可以使用opener"发送多个请求,这些请求是能共享处理cookie的,小编之前也提过python
- 1.事件简介事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理
- PHP 跳转,即重定向浏览器到指定的 URL,是一个很常见的功能。这种功能也有一些细节性的要求,比如等待多少秒以后跳转,用不用JavaScr
- 前言前面安装过mysql5.6,时隔三个月,开发那边反馈需要在MySQL中处理JSON类型的数据,查看文档,JSON是在5.7支持的新特性。
- 前言本文主要介绍 MySQL 是如何开启一个事务的,相关资料也可以查阅官方文档。https://dev.mysql.com/doc/refm
- Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,