图片来源:《星空列车与白的旅行》CG及二创
610 字
2 分钟
笔记|数据分析学习笔记11|排序函数
本系列所有文章都放在
数据科学标签,总目录如下:
11.1 排序函数概述
在数据分析中,排序和去重是数据预处理的基本操作。NumPy 提供了高效的排序函数,下表列出了本节涉及的主要函数:
| 函数 | 功能 |
|---|---|
np.sort(x) | 返回排序后的新数组(原数组不变) |
x.sort() | 原地排序,直接修改原数组 |
np.argsort(x) | 返回排序后各元素在原数组中的索引 |
np.lexsort(keys) | 根据多个键进行间接排序 |
np.unique(x) | 返回去重并排序后的唯一值 |
np.in1d(a, b) | 检查 a 中的元素是否存在于 b 中 |
11.2 np.sort() 与 arr.sort()
np.sort() 返回排序后的新数组,原数组保持不变;arr.sort() 是数组的方法,会原地修改原数组。
import numpy as np
np.random.seed(0)arr = np.random.randint(1, 100, 20)print(arr)输出:
[45 48 65 68 68 10 84 22 37 88 71 89 89 13 59 66 40 88 47 89]# np.sort() 返回新数组,原数组不变print(np.sort(arr))print(arr) # 原数组不变输出:
[10 13 22 37 40 45 47 48 59 65 66 68 68 71 84 88 88 89 89 89][45 48 65 68 68 10 84 22 37 88 71 89 89 13 59 66 40 88 47 89]# arr.sort() 原地排序,修改原数组arr.sort()print(arr) # 原数组已被修改输出:
[10 13 22 37 40 45 47 48 59 65 66 68 68 71 84 88 88 89 89 89]选择建议:
- 需要保留原始数据顺序时,使用
np.sort()。 - 不需要保留原始数据且希望节省内存时,使用
arr.sort()。
11.3 np.argsort()
np.argsort() 不返回排序后的值,而是返回排序后各元素在原数组中的索引位置。这在需要按一个数组的顺序排列另一个数组时非常有用。
np.random.seed(0)arr = np.random.randint(1, 100, 20)print(arr)print(np.argsort(arr))输出:
[45 48 65 68 68 10 84 22 37 88 71 89 89 13 59 66 40 88 47 89][ 5 13 7 8 16 0 18 1 14 2 15 3 4 10 6 17 9 11 12 19]结果解读:
argsort返回值的第一个元素是5,表示排序后最小的元素(10)在原数组的索引 5 位置。- 验证:
arr[5]= 10,确实是最小值。 arr[argsort]等价于np.sort(arr)。
11.4 np.unique() 去重
np.unique() 返回数组中去重并排序后的唯一值。
np.random.seed(0)arr = np.random.randint(1, 100, 20)print(arr)print(np.unique(arr))输出:
[45 48 65 68 68 10 84 22 37 88 71 89 89 13 59 66 40 88 47 89][10 13 22 37 40 45 47 48 59 65 66 68 71 84 88 89]原始数组有 20 个元素,去重后剩下 16 个唯一值,且默认按升序排列。在数据分析中,np.unique() 常用于统计类别、去除重复样本等场景。
11.5 本节小结
本节完成了以下内容:
- 掌握了
np.sort()(返回新数组)与arr.sort()(原地排序)的区别与适用场景。 - 掌握了
np.argsort()返回排序索引的用法及其解读方式。 - 掌握了
np.unique()去重并排序的功能。
下一节我们将对 NumPy 章节进行整体回顾与小结,梳理本章的核心知识点。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
笔记|数据分析学习笔记11|排序函数
https://luq-blog.xyz/posts/2026-07-02-data-notes-11-sort/ 部分信息可能已经过时
相关文章 智能推荐
1
笔记|数据分析学习笔记10|比较函数
理工研习 本节介绍 NumPy 中的比较函数,包括逐元素比较、逻辑运算、条件筛选与多条件赋值,掌握数据筛选的核心技巧。
2
笔记|数据分析学习笔记09|统计函数
理工研习 学习NumPy中的统计函数,包括求和、平均值、中位数、标准差、方差、最值、分位数、累积和与累积积。
3
笔记|数据分析学习笔记08|基本数学函数
理工研习 学习NumPy中的基本数学函数,包括平方根、指数、对数、三角函数、绝对值、幂运算、取整和缺失值检测。
4
笔记|数据分析学习笔记13|Pandas介绍
理工研习 本节介绍 Pandas 库的基础概念,包括其核心设计理念、与 NumPy 的关系,以及 Series 和 DataFrame 两大核心数据结构的对比。
5
笔记|数据分析学习笔记04|ndarray的创建
理工研习 本节系统介绍 NumPy 数组(ndarray)的多种创建方法,包括基础构造、预定义形状填充、数值范围生成、特殊矩阵生成和随机数组生成。
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)