【愚公系列】《Python网络爬虫从入门到精通》033-DataFrame的数据排序

embedded/2025/3/1 22:35:28/
标题详情
作者简介愚公搬代码
头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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(默认)、mergesortheapsort
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',</

http://www.ppmy.cn/embedded/169165.html

相关文章

9、HTTP/2与HTTP/1.1的区别?【高频】

二进制协议&#xff1a; HTTP/2 不再像 HTTP/1.1 里的纯文本形式的报文&#xff0c;而是全面采用了二进制格式&#xff0c;报文头部和数据体都是二进制&#xff0c;并且统称为帧&#xff08;frame&#xff09;&#xff1a;头信息帧&#xff08;Headers Frame&#xff09;和数据…

BigDecimal 为什么可以不丢失精度?

本文已收录至Java面试网站&#xff1a;https://topjavaer.cn 大家好&#xff0c;今天咱们来聊聊 Java 中的 BigDecimal。在金融领域&#xff0c;数据的精确性相当重要&#xff0c;一个小数点的误差可能就意味着几百万甚至几千万的损失。而 BigDecimal 就是专门用来解决这种高精…

SQL Server 链接服务器 MySQL 详细步骤

目录 前言 一、准备工作 1. 确认需求 2. 获取权限 二、安装必要的驱动程序和工具 1.下载并安装MySQL ODBC驱动&#xff1a; 2.安装 SQL Server 和 MySQL 的管理工具&#xff1a; 三、配置 SQL Server 以连接到MySQL 1.执行创建链接服务器的T-SQL语句&#xff1a; 2.配…

GD32F450 使用

GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意&#xff1a;GD32F450 总共有三种封装形式&#xff0c;本文所述的相关代码和知识&#xff0c;均为 GD32F450IX 系列。 1. 相关知识 参数配…

Linux(CentOS)安装 MySQL

CentOS版本&#xff1a;CentOS 7 三种安装方式&#xff1a; 一、通过 yum 安装&#xff0c;最简单&#xff0c;一键安装&#xff0c;全程无忧。 二、通过 rpm 包安装&#xff0c;需具备基础概念及常规操作。 三、通过 gz 包安装&#xff0c;需具备配置相关操作。 --------…

uniapp中使用leaferui使用Canvas绘制复杂异形表格的实现方法

需求&#xff1a; 如下图&#xff0c;要实现左图的样式&#xff0c;先实现框架&#xff0c;文字到时候 往里填就行了&#xff0c;原来的解决方案是想用css,html来实现&#xff0c;发现实现起来蛮麻烦的。我也没找到合适的实现方法&#xff0c;最后换使用canvas来实现&#xff…

linux第四讲----基础开发工具vim

1.软件安装 这里以ubuntu为例&#xff0c;安装sl软件,输入这个命令即可自动安装~ 使用一下&#xff0c;输入sl&#xff0c;屏幕上会出现一个移动的小火车 之后不想要了准备卸载就输入&#xff1a; 注意&#xff1a;1&#xff09;下载软件时也可以进行搜索~ 2&#xff09;cento…

ElasticSearch核心技术解析:倒排索引与IK分词器如何解决中文搜索痛点

在传统数据库中&#xff0c;模糊查询往往难以应对现实中的复杂情况。随着数据量的增加&#xff0c;查询时间显著变慢&#xff0c;功能也相对单一。当搜索时出现错别字或拼音输入时&#xff0c;搜索结果往往不尽如人意。因此&#xff0c;我们需要学习一种强大的搜索框架技术——…