np.argsort()函数学习笔记

这篇博客介绍了numpy库中的argsort()函数,通过创建数组并调用该函数,展示了如何获取数组元素按升序排序后的索引。博主强调argsort()返回的是排序后的索引值,而非排序后的数值,并给出了利用切片操作根据排序索引取值的例子。

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

创建数组:

import numpy as np
n = np.array([3,2,4,6,1])

输出结果:

[3 2 4 6 1]

调用np.argsort()函数,输出结果:

import numpy as np
n = np.array([3,2,4,6,1])
code = n.argsort()
print(n)
print(code)
print(n[code])
[3 2 4 6 1]
[4 1 0 2 3]
[1 2 3 4 6]

可以看到,该函数就是对数组按照数值从小到大排序后,输出每个值对应的索引值,如下表所n示:

n

3(index:0)

2(index:1)

4(index:2)

6(index:3)

1(index:4)

排序

1(4)

2(1)

3(0)

4(2)

6(3)

argsort()

4

1

0

2

3

关于:

np.argsort()[num]

表示对输出值进行切片,取数。

由于,argsort()函数是输出数组n由小到大的排序,取数也就是按照排序的结果进行。

import numpy as np
n = np.array([3,2,4,6,1])
code = n.argsort()
code_num = n.argsort()[-2:]
print(n)
print(code)
print(code_num)
print('-'*10)
print(n[code])
print(n[code_num])

结果:

[3 2 4 6 1]
[4 1 0 2 3]
[2 3]
----------
[1 2 3 4 6]
[4 6]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值