티스토리 뷰
ndarray 정렬
- Numpy array는 axis를 기준으로 정렬하는
sort()
함수 제공- 만약, axis를 지정하지 않으면 -1값으로 지정 => 마지막 axis
- np.sort() : 원본은 변하지 않고, 정렬된 결과 ndarray를 리턴
- arr.sort() : 원본을 정렬, return은 None
1) 1차원 ndarray 정렬
import numpy as np
arr = np.arange(10)
np.random.shuffle(arr)
print(np.sort(arr)) # 오름차순 정렬 (default)
# ndarray는 특수한 indexing 제공 => 역순으로 정렬하기 위한 index
print(np.sort(arr)[::1]) # 한칸씩 움직이기
# [0 1 2 3 4 5 6 7 8 9]
print(np.sort(arr)[::2])
# [0 2 4 6 8]
print(np.sort(arr)[::-1]) # 역 정렬
# [9 8 7 6 5 4 3 2 1 0]
2) 2차원 ndarray 정렬
arr = np.arange(1, 17)
np.random.shuffle(arr)
arr = arr.reshape(4, 4).copy()
print(arr)
# [[11 2 1 12]
# [13 10 15 4]
# [ 9 8 14 3]
# [16 6 5 7]]
# 2차원 axis=0 => 행/세로방향
print(np.sort(arr, axis=0))
# [[ 9 2 1 3]
# [11 6 5 4]
# [13 8 14 7]
# [16 10 15 12]]
# 2차원 axis=1 => 열/가로방향
print(np.sort(arr, axis=1))
# [[ 1 2 11 12]
# [ 4 10 13 15]
# [ 3 8 9 14]
# [ 5 6 7 16]]
연습문제
표준정규분포에서 200개의 샘플을 추출한 후, 내림차순으로 상위 5%까지의 결과만 출력
import numpy as np
arr = np.random.randn(200)
print(np.sort(arr)[::-1][1:11]) # 이게 맞나
'멀티캠퍼스 AI과정 > 03 Numpy' 카테고리의 다른 글
Numpy로 서울의 최고 기온과 날짜 구하기 (0) | 2020.09.09 |
---|---|
Numpy 10 - ndarray의 원소 추가와 삭제 (0) | 2020.09.09 |
Numpy 08 - Numpy 집계함수와 axis(축) (0) | 2020.09.09 |
Numpy 07 - ndarray의 전치행렬과 Iterator (0) | 2020.09.09 |
Numpy 06 - ndarray의 사칙연산, 행렬곱, Broadcasting (0) | 2020.09.08 |
댓글