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
'[머신러닝] > [Numpy, Pandas]' 카테고리의 다른 글
[Pandas] 판다스 2.0 버전 이상 원-핫 인코딩 표시 문제 해결 (0) | 2023.12.04 |
---|---|
[Pandas] axis=0, axis=1에 관하여 (0) | 2023.11.27 |
[Pandas] groupby 2.0 version 이후 (0) | 2023.10.25 |
[Numpy] 넘파이 랜덤 함수 정리 (0) | 2023.08.30 |
[Pandas] 판다스 csv, sort_values(), by, ascending, 통계량 계산 (0) | 2023.06.21 |