np.argsort()函数学习笔记

创建数组:

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]

你可能感兴趣的:(numpy,python,机器学习)