728x90
파이썬의 넘파이 라이브러리에는 argsort()라는 정렬함수가 있습니다. 일반적인 정렬함수와 약간 차이가 있는데요.
주어진 배열의 요소를 정렬한 후 정렬전 인덱스를 반환해 주는 것이 특징이며 오름차순이 기본값입니다. 직접 코드로 확인해 보겠습니다.
import numpy as np
arr = np.array([3, 1, 2, 5, 4])
print(np.argsort(arr))
>>> [1 2 0 4 3]
0 1 2 3 4 >> 인덱스
↓ ↓ ↓ ↓ ↓
3 1 2 5 4 >> 배열요소
정렬되면 1 2 3 4 5로 정렬이 될텐데, 그에 맞춰 인덱스도 정렬되어 1 2 0 4 3이 되어 출력됩니다.
추가)
.argsort()[::-1]로 작성해 내림차순으로 정렬해 역순으로 가져올 수도 있으며 많이 사용되는 방법입니다.
print(np.argsort(arr)[::-1])
>>> [3 4 0 2 1]
728x90
'[Data] > [Numpy]' 카테고리의 다른 글
[Numpy] 넘파이 랜덤 함수 정리 (0) | 2023.08.30 |
---|---|
[Numpy] numpy.meshgrid함수 (0) | 2023.06.16 |
[Numpy] linspace함수 (구간 내에 숫자 채우기) (0) | 2023.06.16 |
[Numpy] np.arange 사용법과 range와의 차이 (0) | 2023.06.16 |
[Numpy] list와 tuple 자료형의 차이 (0) | 2023.06.14 |