SeouliteLab

[Python/파이썬] Numpy argsort 함수: 배열 정렬하기 본문

프로그래밍

[Python/파이썬] Numpy argsort 함수: 배열 정렬하기

Seoulite Lab 2024. 3. 1. 16:38

Numpy의 argsort 함수는 배열을 정렬하기 위한 인덱스를 반환합니다. 즉, 원본 배열의 요소들을 정렬하기 위한 인덱스를 반환하며, 이를 통해 정렬된 결과를 얻을 수 있습니다. 아래에서는 Numpy의 argsort 함수를 사용하는 여러 예제를 살펴보겠습니다.

예제 1: 1차원 배열 정렬

다음 예제에서는 주어진 1차원 배열을 정렬하기 위한 인덱스를 반환합니다.

import numpy as np

# 1차원 배열 생성
arr = np.array([3, 1, 4, 2, 5])

# argsort 함수 사용
sorted_indices = np.argsort(arr)
print("정렬된 인덱스:", sorted_indices)
print("정렬된 배열:", arr[sorted_indices])

이 코드는 다음과 같은 결과를 출력합니다.

정렬된 인덱스: [1 3 0 2 4]
정렬된 배열: [1 2 3 4 5]

예제 2: 2차원 배열 정렬

다음 예제에서는 2차원 배열을 정렬하기 위한 인덱스를 반환합니다.

import numpy as np

# 2차원 배열 생성
arr = np.array([[3, 1, 4],
                [2, 5, 9]])

# argsort 함수 사용
sorted_indices = np.argsort(arr, axis=1)  # 행별로 정렬
print("행별로 정렬된 인덱스:", sorted_indices)

이 코드는 다음과 같은 결과를 출력합니다.

행별로 정렬된 인덱스:
[[1 0 2]
 [0 1 2]]