[python] 넘파이 배열 내림차순으로 정렬하기

코딩/python|2020. 7. 13. 08:41

numpy 패키지의 sort 함수, 즉 numpy.sort는 기본적으로 오름차순 정렬 밖에 지원하지 않습니다. 따라서 내림차순으로 정렬하기 위해서는 약간의 스킬을 사용해야 합니다. 바로 오름차순으로 정렬한 것을 뒤집는 것이죠.

 

간단한 예제를 통해 설명드리겠습니다. 하나의 넘파이 배열을 만든 후 그것을 먼저 오름차순으로 정렬시키겠습니다. 그 다음에 그것을 뒤집겠습니다. 

 

1
2
3
4
5
6
7
8
9
import numpy as np
 
= np.array([539712148])
 
a_sorted_ascending = np.sort(a) # 1. a를 오름차순으로 정렬
print(a_sorted_ascending)
 
a_sorted_descending = a_sorted_ascending[::-1# 2. 뒤집기
print(a_sorted_descending)
cs

 

위 코드를 실행시키면 다음과 같은 화면이 출력됩니다.

 

 

오름차순으로 정렬된 것이 내림차순으로 잘 바뀌었죠? 두 과정을 한꺼번에 표기할 수도 있습니다. 

 

1
2
a_sorted_descending1 = np.sort(a)[::-1# 1, 2 과정 한번에 표현
print(a_sorted_descending1)
cs

 

 

한 번에 내림차순으로 정렬된 결과를 얻었습니다.

 

 

bskyvision의 추천글 ☞

[MATLAB] 데이터 정렬하기, sort 함수 (응용: 학점 부여 프로그램)

[python] numpy 패키지 유용한 함수들 10개 정리