[python] NumPy 배열의 정렬하기
NumPy는 파이썬의 과학 및 수치 계산을 위한 핵심 라이브러리로, 배열 데이터를 처리하는데 많이 활용됩니다. 이번 글에서는 NumPy를 사용하여 배열을 정렬하는 방법을 살펴보겠습니다.
1. 배열 정렬 기본
NumPy에서 배열을 오름차순으로 정렬하려면 np.sort()
함수를 사용할 수 있습니다. 이 함수는 기존 배열을 변경하지 않고 배열의 정렬 복사본을 반환합니다. 다음은 간단한 예제입니다.
import numpy as np
arr = np.array([3, 1, 2, 5, 4])
sorted_arr = np.sort(arr)
print(sorted_arr)
위 예제 코드를 실행하면 [1 2 3 4 5]
가 출력될 것입니다.
2. 배열 내 인덱스 정렬
때로는 배열의 값이 아닌 인덱스로 정렬하고자 하는 경우가 있습니다. NumPy의 argsort()
함수를 사용하면 이를 수행할 수 있습니다. 다음은 예제 코드입니다.
import numpy as np
arr = np.array([3, 1, 2, 5, 4])
sorted_indices = np.argsort(arr)
print(sorted_indices)
위 코드를 실행하면 [1 2 0 4 3]
이 출력될 것입니다.
3. 축별 정렬
다차원 배열의 경우 축을 기준으로 정렬할 수 있습니다. 예를 들어, 2차원 배열에서 각 행이나 열을 따로 정렬할 수 있습니다. 이를 위해 axis
매개변수를 사용합니다. 다음은 예제 코드입니다.
import numpy as np
arr = np.array([[3, 1, 2], [6, 5, 4]])
sorted_rows = np.sort(arr, axis=1) # 각 행을 따라 정렬
sorted_columns = np.sort(arr, axis=0) # 각 열을 따라 정렬
print(sorted_rows)
print(sorted_columns)
4. 내림차순 정렬
배열을 내림차순으로 정렬하려면 np.sort()
함수에 -1
을 곱한 후 정렬하거나, np.argsort()
함수에 [::-1]
을 사용하여 인덱스를 뒤집을 수 있습니다.
마무리
이번 글에서는 NumPy를 사용하여 배열을 정렬하는 방법을 알아보았습니다. NumPy의 정렬 함수를 이용하여 다양한 정렬 작업을 수행할 수 있으므로, 실제 데이터 처리에서 유용하게 활용할 수 있을 것입니다.
참고문헌: NumPy 공식 문서