标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。 |
博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
欢迎 | 👍点赞、✍评论、⭐收藏 |
文章目录
- 🚀前言
- 🚀一、DataFrame的数据排序
-
- 🔎1.数据排序整理
-
- 🦋1.1 `sort_values` 方法概述
- 🦋1.2 参数详解
- 🦋1.3 排序场景与实例
-
- ☀️1.3.1 单列排序
- ☀️1.3.2 多列排序
- ☀️1.3.3 统计结果排序
- ☀️1.3.4 按行排序
- 🦋1.4 注意事项
- 🔎2.数据排名整理
-
- 🦋2.1 `rank` 方法概述
- 🦋2.2 参数详解
- 🦋2.3 排名规则与实例
-
- ☀️2.3.1 顺序排名 (`method='first'`)
- ☀️2.3.2 平均排名 (`method='average'`)
- ☀️2.3.3 最小值排名 (`method='min'`)
- ☀️2.3.4 最大值排名 (`method='max'`)
- ☀️2.3.5 密集排名 (`method='dense'`)
🚀前言
在数据分析的过程中,数据的排序是一个不可或缺的环节。无论是在探索性数据分析中了解数据分布,还是在准备数据可视化时展示清晰的趋势,掌握如何对DataFrame中的数据进行有效排序都是至关重要的。Pandas库为我们提供了强大的排序功能,使得这一过程简单而高效。
本文将深入探讨DataFrame的数据排序,包括按单列或多列排序的技巧、升序和降序的设置、以及如何处理缺失值对排序结果的影响。我们将通过具体示例,帮助你快速掌握这些操作,提升数据处理的灵活性和效率。
🚀一、DataFrame的数据排序
🔎1.数据排序整理
🦋1.1 sort_values
方法概述
DataFrame.sort_values()
是 Pandas 中用于数据排序的核心方法,功能类似 SQL 的 ORDER BY
。支持按行/列排序,语法如下:
python">DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False)
🦋1.2 参数详解
参数 | 说明 |
---|---|
by |
排序依据的列名或列名列表 |
axis |
排序轴:0 按行排序(默认),1 按列排序 |
ascending |
排序顺序:True 升序(默认),False 降序;多列可用布尔列表指定 |
inplace |
是否原地修改:False 返回新对象(默认),True 直接修改原对象 |
kind |
排序算法:quicksort (默认)、mergesort 、heapsort |
na_position |
缺失值位置:last 末尾(默认),first 开头 |
ignore_index |
是否重置索引:False 保留原索引(默认),True 生成新索引(0~n-1) |
🦋1.3 排序场景与实例
☀️1.3.1 单列排序
场景:按指定列(如“销量”)降序排序
代码:
python">import pandas as pd
excelFile = 'mrbook.xlsx'
df = pd.DataFrame(pd.read_excel(excelFile))
#设置数据显示的列数和宽度
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
print('-------------------------按照一列数据排序-------------------------')
#按“销量”列降序排序
df=df.sort_values(by='销量',ascending=False)
print(df)
☀️1.3.2 多列排序
场景:按多列优先级排序(如先“图书名称”降序,再“销量”降序)
代码:
python">import pandas as pd
excelFile = 'mrbook.xlsx'
df = pd.DataFrame(pd.read_excel(excelFile))
#设置数据显示的列数和宽度
pd.set_option('display.max_columns',</