[Numpy] argsort() 사용법
2023. 1. 10. 17:21
import numpy as np
num = [6, 2, 8, 4, 1, 7]
num_arr = np.array(num)
sort_index = np.argsort(num_arr)
print(sort_index)
[4 1 3 0 5 2]
argsort는 array를 오름차순으로 정렬한 후 해당 원소의 원래 인덱스를 출력한다.
아래 그림과 같다.
num_arr에서 원소에 해당하는 인덱스는 그림 왼쪽 아래에 나타난 index이다.
num_arr을 오름차순한다면 1, 2, 4, 6, 7, 8이 된다.
원래의 num_arr에서
원소 1의 본래 인덱스는 4이고 / 원소 2의 본래 인덱스는 1이고 ... / 원소 8의 본래 인덱스는 2이므로
[4 1 3 0 5 2] 를 출력하게 된다.
[::-1]을 붙이면 내림차순이 된다.
import numpy as np
num = [6, 2, 8, 4, 1, 7]
num_arr = np.array(num)
ascending_sort_index = np.argsort(num_arr)
descending_sort_index = np.argsort(num_arr)[::-1]
print('오름차순 : ', np.sort(num_arr))
print('인덱스 : ', ascending_sort_index)
print('\n내림차순 : ', np.sort(num_arr)[::-1])
print('인덱스 : ', descending_sort_index)
'ML > Numpy' 카테고리의 다른 글
[Numpy, Scipy] np.array, toarray() 차이 (0) | 2022.12.16 |
---|---|
[Numpy] 스칼라, 벡터, 행렬, 텐서 차이 (0) | 2022.12.16 |
[Numpy] 넘파이 배열(np.array) (0) | 2022.11.09 |