본문 바로가기
함수 설명/기본 및 범용

[NumPy] 배열 정렬하기: np.sort() 사용 및 설명

by First Adventure 2024. 10. 3.
반응형

소개

  np.sort(a, axis=-1, kind=None, order=None)는 주어진 배열 a의 요소들을 지정한 축(axis)을 따라 정렬하는 함수입니다. 배열 전체 또는 특정 축에 따라 오름차순으로 정렬할 수 있으며, 다양한 정렬 알고리즘과 구조화된 배열의 필드를 선택적으로 사용할 수 있습니다. 이 함수는 데이터 처리, 정렬, 분석 작업에서 자주 사용됩니다.

 

기본 사용법

import numpy as np

# 1차원 배열의 정렬
array1 = np.array([3, 1, 2, 5, 4])
sorted_array1 = np.sort(array1)

# 2차원 배열에서 축(axis)별 정렬
array2d = np.array([[3, 1, 2], [6, 5, 4]])
sorted_axis0 = np.sort(array2d, axis=0)  # 열 기준 정렬
sorted_axis1 = np.sort(array2d, axis=1)  # 행 기준 정렬

print("1D 배열 정렬 결과:", sorted_array1)
print("2D 배열 열 기준 정렬 결과:\n", sorted_axis0)
print("2D 배열 행 기준 정렬 결과:\n", sorted_axis1)

상세 설명

  • a: 정렬할 배열입니다. 다차원 배열도 허용되며, 배열 전체 또는 특정 축을 따라 요소를 정렬할 수 있습니다.
    • 예시: np.sort([3, 1, 2])는 [1, 2, 3]으로 정렬합니다.
  • axis (선택사항): 배열을 정렬할 축을 지정합니다. 기본값은 -1로, 마지막 축을 기준으로 정렬합니다. axis=0은 열, axis=1은 행을 기준으로 정렬합니다.
    • 예시: np.sort(array2d, axis=0)은 각 열을 독립적으로 정렬합니다.
  • kind (선택사항): 사용할 정렬 알고리즘을 지정합니다. quicksort, mergesort, heapsort 등의 옵션이 있으며, 기본값은 quicksort입니다.
    • 예시: np.sort(array1, kind='mergesort')는 병합 정렬 알고리즘을 사용합니다.
  • order (선택사항): 구조화된 배열에서 필드 이름을 지정하여 그 필드를 기준으로 정렬할 수 있습니다.
  • 활용
    • 데이터 정렬 및 분석: 배열의 요소를 오름차순으로 정렬하여 데이터 분석이나 시각화를 쉽게 할 수 있습니다.
    • 다차원 배열 처리: 2차원 이상의 배열을 축별로 정렬하여 복잡한 데이터를 효율적으로 정리할 수 있습니다.

 

라이센스

  NumPy는 BSD-3-Clause 라이센스를 따릅니다. 자유롭게 사용, 수정, 배포할 수 있으며 상업적 목적으로도 사용할 수 있습니다. 라이센스와 저작권 정보는 NumPy의 공식 GitHub 리포지토리에서 확인할 수 있습니다.

 

관련 내용

  [NumPy] 배열 정렬 인덱스 구하기: np.argsort() 사용 및 설명

  [NumPy] 배열 정렬하기: np.sort() 사용 및 설명

  [NumPy] 배열의 중복 제거 및 고유 값 찾기: np.unique() 사용 및 설명

  [NumPy] 조건에 따른 배열 선택: np.where() 사용 및 설명

반응형