最近在学NMS算法,刚好看到了argsort()函数,特记录下,供自己以后查询,如有不足,欢迎评论区指正~
一维数组的argsort()函数用法
import numpy as np
a = np.array([5, 3, 4, 7, 2, 9])
b = a.argsort()
c = []
for i in range(len(b)):
tmp = b[i]
c.append(a[tmp])
print("a:{}\nb:{}\nc:{}".format(a, b, c))
输出为
a:[5 3 4 7 2 9]
b:[4 1 2 0 3 5]
c:[2, 3, 4, 5, 7, 9]
可以看出argsort()函数的功能是:将数组中的元素升序排列,提取对应的索引,最后输出索引
比如数组a中最小的元素:2,它在a中的索引是4,所以数组b的第一个元素b[0]是2的索引4。