๋”ฅ๋Ÿฌ๋‹/Today I learned :

numpy argsort ์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ

์ฃผ์˜ ๐Ÿฑ 2023. 1. 20. 00:40
728x90
๋ฐ˜์‘ํ˜•

์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋‹ค๊ฐ€ np.argsort ๋ฅผ ๋ณด๊ณ  ์ •๋ ฌ์€ ์ •๋ ฌ์ธ๋ฐ ์–ด๋–ค์‹์œผ๋กœ ์ •๋ ฌ๋˜๋Š” ๊ฑด์ง€ ๊ถ๊ธˆํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. 

 

๊ฐ ์›์†Œ์˜ ์ •๋ ฌ ์ธ๋ฑ์Šค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

numpy.argsort(a, axis=-1, kind=None, order=None)

b = [0,1,2,3,10,9,8]
 
x=np.argsort(b)
print(x)
๊ฒฐ๊ณผ๊ฐ’ 
[0 1 2 3 6 5 4]

x2 = np.argsort(b)[::-1]. #๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
๊ฒฐ๊ณผ๊ฐ’
[4 5 6 3 2 1 0]

 

a = [[0,1,2,3],[1,2,3]]

print(np.argsort([len(aa) for aa in a]))

[1 0]

 

x = np.array([[0, 3], [2, 2]])
np.argsort(x, axis=0)
array([[0, 1],
       [1, 0]])
np.argsort(x, axis=1)
array([[0, 1],
       [0, 1]])

๋ฐ˜์‘ํ˜•