조이 생각

반응형

원본 리스트가 존재하고

1. 원본 자체를 정렬해서 사용하고 싶거나 

2. 원본은 냅두고 정렬된 리스트의 인덱스를 알고 싶은 경우가 있다.

 

1. 원본 자체를 정렬하고 싶을 때

필자는 list 를 numpy를 이용해서 정렬하였다.

import numpy as np

a = [3,5,2,1,9]
a_np = np.array(a)

먼저 리스트를 numpy array로 변환해 준고,

numpy의 sort 함수를 이용한다.

 

# 오름차순
asc_list = np.sort(a_np)

# 내림차순
desc_list = np.sort(a_np)[::-1]

 

출력결과

 

 

2. 원본은 유지하고 정렬된 인덱스만 알고싶을 때

이미 list를 numpy 배열로 변환한 a_np를 사용하여 numpy의 argsort 함수를 이용한다.

# 오름차순
sorted_idxes = np.argsort(a_np)

# 내림차순
reversed_idxes = np.argsort(a_np)[::-1]

 

출력결과

인덱스가 내림/오름차순 정렬에 맞게 출력되는 것을 확인할 수 있다.

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band
loading