PROGRESS
9 / 13
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
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)
HINT
힌트: 배열을 정렬하는 기본 함수명은 sort()입니다. 내림차순은 정렬된 결과를 거꾸로 뒤집는 [::-1] 구문을 덧붙여 완성합니다.
실행 결과 예시
오름차순 정렬: [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]