오름차순/내림차순 정렬하기 : np.sort()

30 P
QUESTION 09 #307
넘파이를 사용하여 점수 데이터를 오름차순과 내림차순으로 정렬하려고 합니다. 빈칸을 채워보세요.
main.py
import numpy as np

score = np.array([78, 92, 55, 88, 62])

# 1. 오름차순 정렬 (작은 값 -> 큰 값)
score2 = np.(score)
print("오름차순 정렬:", score2)

# 2. 내림차순 정렬 (큰 값 -> 작은 값)
# 오름차순 정렬 후 슬라이싱으로 순서를 뒤집습니다.
score3 = np.(score)[::-1]
print("내림차순 정렬:", score3)
실행 결과 예시
오름차순 정렬: [55 62 78 88 92]
내림차순 정렬: [92 88 78 62 55]
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

np.sort()로 배열 정렬하기

np.sort()는 배열의 요소를 오름차순으로 정렬하는 함수입니다.

오름차순 정렬

score = np.array([78, 92, 55, 88, 62])
np.sort(score)  →  [55, 62, 78, 88, 92]

작은 값부터 큰 값 순서로 정렬됩니다.

내림차순 정렬

넘파이에는 내림차순 전용 함수가 없습니다. 대신 오름차순 정렬 후 뒤집기를 사용합니다.

np.sort(score)[::-1]  →  [92, 88, 78, 62, 55]

[::-1]은 배열을 역순으로 뒤집는 슬라이싱입니다.

동작 과정

원본:     [78, 92, 55, 88, 62]
    ↓ np.sort()
오름차순: [55, 62, 78, 88, 92]
    ↓ [::-1]
내림차순: [92, 88, 78, 62, 55]

원본 배열 보존

np.sort()새로운 배열을 반환하며, 원본은 변경되지 않습니다.

score = np.array([78, 92, 55, 88, 62])
sorted_score = np.sort(score)

print(score)        # [78, 92, 55, 88, 62] ← 원본 유지
print(sorted_score)  # [55, 62, 78, 88, 92] ← 정렬된 복사본

2차원 배열 정렬

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

np.sort(arr, axis=1)  # 각 행 내에서 정렬
# [[1, 2, 3],
#  [4, 5, 6]]

💡 기억법: 오름차순은 np.sort(), 내림차순은 np.sort()[::-1]