pandas数值排序的实现实例
目录
- 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.078
1小刚NaN89
2小红876.065
3李华65.089
4小美NaN43
5张三34.090
6李四NaN34
7王五98.587
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:【pandas数值排序的实现实例】
姓名年龄成绩
6李四NaN34
4小美NaN43
2小红876.065
0小明23.078
7王五98.587
1小刚NaN89
3李华65.089
5张三34.090
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.090
1小刚NaN89
3李华65.089
7王五98.587
0小明23.078
2小红876.065
4小美NaN43
6李四NaN34
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.078
5张三34.090
3李华65.089
7王五98.587
2小红876.065
1小刚NaN89
4小美NaN43
6李四NaN34
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小刚NaN89
4小美NaN43
6李四NaN34
0小明23.078
5张三34.090
3李华65.089
7王五98.587
2小红876.065
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李四NaN34
4小美NaN43
2小红876.065
0小明23.078
7王五98.587
3李华65.089
1小刚NaN89
5张三34.090
到此这篇关于pandas数值排序的实现实例的文章就介绍到这了,更多相关pandas数值排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 一个选择排序算法
- 排序(归并排序)
- 【图解】9张图彻底搞懂堆排序
- vue|vue 上移 下移 删除 排序
- 回归|金融数值方法之回归计算-python实践
- LeetCode|LeetCode 每日一题 [52] 表示数值的字符串
- 必须掌握的八种基本排序算法
- 【排序】插入排序算法
- C++-类型转换
- 【机器学习】数值分析(1)——|【机器学习】数值分析(1)—— 任意方程求根