[파이썬][numpy] numpy에서 배열 정렬

numpy는 파이썬에서 과학적 계산을 위한 라이브러리로, 다차원 배열과 벡터화된 연산을 지원합니다. 이러한 다양한 기능 중 하나는 배열의 정렬입니다. numpy를 사용하여 배열을 정렬하고 그 원리를 알아보겠습니다.

1. 오름차순 정렬

numpy에서 배열을 오름차순으로 정렬하려면 np.sort() 함수를 사용합니다. 아래는 np.sort() 함수를 사용하여 배열을 오름차순으로 정렬하는 예제입니다.

import numpy as np

arr = np.array([5, 3, 1, 4, 2])
sorted_arr = np.sort(arr)

print(sorted_arr)

출력 결과:

[1 2 3 4 5]

위 코드에서는 np.sort() 함수를 사용하여 arr 배열을 정렬하고, 결과를 sorted_arr 변수에 저장한 후 출력하였습니다. 출력 결과를 보면 배열이 오름차순으로 정렬되어 있는 것을 확인할 수 있습니다.

2. 내림차순 정렬

numpy에서 배열을 내림차순으로 정렬하려면 np.sort() 함수의 [::-1] 인덱싱을 사용하거나 np.argsort() 함수를 사용합니다. 아래는 두 가지 방법으로 배열을 내림차순으로 정렬하는 예제입니다.

2.1. 인덱싱을 이용한 내림차순 정렬

import numpy as np

arr = np.array([5, 3, 1, 4, 2])
sorted_arr = np.sort(arr)[::-1]

print(sorted_arr)

출력 결과:

[5 4 3 2 1]

위 코드에서 [::-1] 인덱싱을 사용하여 np.sort(arr)의 결과를 역순으로 정렬하고, 결과를 sorted_arr 변수에 저장한 후 출력하였습니다. 출력 결과를 보면 배열이 내림차순으로 정렬되어 있는 것을 확인할 수 있습니다.

2.2. argsort를 이용한 내림차순 정렬

import numpy as np

arr = np.array([5, 3, 1, 4, 2])
indices = np.argsort(arr)[::-1]
sorted_arr = arr[indices]

print(sorted_arr)

출력 결과:

[5 4 3 2 1]

위 코드에서 np.argsort() 함수를 사용하여 배열의 인덱스를 오름차순으로 정렬한 후, 결과를 역순으로 바꾸어주고, 이를 이용하여 원래의 배열을 정렬한 후 출력하였습니다. 출력 결과를 보면 배열이 내림차순으로 정렬되어 있는 것을 확인할 수 있습니다.

numpy를 사용하여 배열을 정렬하는 방법에 대해 알아보았습니다. 오름차순 정렬과 내림차순 정렬을 하는 방법을 예제 코드와 함께 설명하였으니, 필요한 경우 이를 참고하여 배열을 정렬해 보세요!