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

news/2025/2/26 8:55:20
标题 详情
作者简介 愚公搬代码
头衔 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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.niftyadmin.cn/n/5868430.html

相关文章

[Web 安全] PHP 反序列化漏洞 —— PHP 序列化 反序列化

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 0x01&#xff1a;PHP 序列化 — Serialize 序列化就是将对象的状态信息转化为可以存储或传输的形式的过程&#xff0c;在 PHP 中&#xff0c;通常使用 serialize() 函数来完成序列化的操作…

React七Formik

Formik是一个专为React构建的开源表单库。它提供了一个易于使用的API来处理表单状态管理&#xff0c;表单验证以及表单提交。Formik支持React中的所有表单元素和事件&#xff0c;可以很好地与React生态系统中的其他库集成。同时&#xff0c;Formik还提供了一些高级功能&#xf…

github 推送的常见问题以及解决

文章目录 git add 的时候问题1为什么会发生这种情况&#xff1f;Git 的警告含义如何解决&#xff1f;1. **保持 Git 的默认行为&#xff08;推荐&#xff09;**2. **禁用自动转换**3. **仅在工作目录中禁用转换**4. **统一使用 LF&#xff08;跨平台开发推荐&#xff09;** git…

2.25力扣每日一题--设计内存分配器

2502. 设计内存分配器 - 力扣&#xff08;LeetCode&#xff09; 一&#xff1a;JAVA Allocator(int n)函数&#xff1a;类构造器 int allocate(int size, int mID)函数&#xff1a;输入&#xff0c;待插入块的大小size,插入内容mid / 输出&#xff0c;插入位置块的起始位置…

【redis】数据类型之Bitfields

Redis的Bitfields&#xff08;位域&#xff09;与Bitmaps一样&#xff0c;在Redis中并不是一种独立的数据类型&#xff0c;而是一种基于字符串的数据结构&#xff0c;用于处理位级别的操作。允许用户将一个Redis字符串视作由一系列二进制位组成的数组&#xff0c;并对这些位进行…

Linux 基本开发工具的使用(yum、vim、gcc、g++、gdb、make/makefile)

文章目录 Linux 软件包管理器 - yum理解什么是软件包和yum如何查看/查找软件包如何安装软件如何实现本地机器和云服务器之间的文件互传如何卸载软件 Linux 编辑器 - vim 的使用vim 的基本概念vim 的基本操作vim 命令模式各命令汇总vim 底行模式各命令汇总vim 的简单配置 Linux …

关于<<DeepSeek-R1:通过强化学习激励大语言模型的推理能力>>的解读

今日关于<<DeepSeek-R1:通过强化学习激励大语言模型的推理能力>>这篇文章很火, DeepSeek-R1:通过强化学习激励大语言模型的推理能力-CSDN博客 因为是专业文章很多小伙伴看不懂,那么今天我整理了一个解读文章,希望对你有所帮助: 这篇论文主要介绍了一种通过…

Java与NoSQL数据库的集成与优化

Java与NoSQL数据库的集成与优化 在现代企业应用中&#xff0c;NoSQL数据库因其灵活的数据模型、高可扩展性和高性能等特点&#xff0c;广泛应用于大数据处理、实时分析、社交网络等领域。与此同时&#xff0c;Java作为一种广泛使用的编程语言&#xff0c;也在与NoSQL数据库的集…