NumPy间接排序——argsort、lexsort

本文介绍了NumPy中的间接排序方法,包括argsort()和lexsort()。argsort()返回数组元素的排序索引,而不是排序后的元素。lexsort()则根据多个数组的顺序对数据进行排序,当主键有重复时,会使用下一个键作为辅助排序标准。通过示例解释了这两个函数的工作原理和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近想系统学习机器学习所需要的工具,像语言python以及其库numpy、pandas啊什么的,所以借博客记录学习路上遇到的疑惑以及解惑;

NumPy是Numerical Python的简称,是一个Python科学计算的基础包;

NumPy的排序方式主要可以概括为直接排序和间接排序两种:直接排序较为直观,对数值直接排序;而间接排序指根据一个或多个键对数据集进行排序。在NumPy中,直接排序主要使用sort函数,而间接排序经常使用argsortlexsort函数。

此处,主要介绍间接排序;

 

argsort()

>>> arr = np.array([2,3,6,8,0,7])
>>> print('排序后的数组为:',arr.argsort())

排序后的数组为:[4,0,1,2,5,3]

 

由上展示了argsort()函数的一次运行。可能你会讶异,输入数组内元素与排序后数组元素怎么匹配不上啊?哪里有4?那里有5?

不过你可能会注意到,排序后数组内元素是[0-6)的分布。其实,利用argsort()函数对数组排序,实际上返回的是数组元素从小到大位置的索引。

 

 

le

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值