□ 기본적으로 오름차순 / 내림차순은 [::-1]
□ np.sort(ndarray) : 인자로 들어온 행렬은 그대로 유지한 채 원 행렬의 정렬된 행렬 반환
□ ndarray.sort : 행렬 자체를 정렬한 형태로 변환하며 반환값은 None
org_array = np.array([3,1,9,5])
print(org_array)
print("\n")
print("오름차순")
sort_org_array = np.sort(org_array)
print(sort_org_array)
print("\n")
print("내림차순")
desc_sort_org_array = np.sort(org_array)[::-1]
print(desc_sort_org_array)
print("\n")
org_array = np.array([[3,2,1],[6,4,5]])
print(org_array.ndim)
print(org_array.shape)
print(org_array)
print("\n")
print("오름차순 행방향")
sort_org_array1 = np.sort(org_array, axis=0) #행방향
print(sort_org_array1)
print("\n")
print("오름차순 열방향")
sort_org_array2= np.sort(org_array, axis=1) #열방향
print(sort_org_array2)
print("\n")
print("내림차순")
desc_sort_org_array = np.sort(org_array)[::-1]
print(desc_sort_org_array)
print("\n")
□ arsort() : 원본행렬 정렬시 정렬된 행렬의 원래 인덱스를 필요로할 때 np.argsort이용. 정렬행렬의 원본행렬인덱스를 ndarray 형으로 반환. 정렬된 원소에 해당하는 인덱스(원본기준)가 반환
org_array = np.array([6,7,4,3,2,1,9,8])
argsort_org_array = np.argsort(org_array)
print(argsort_org_array)
argsort_org_array = np.argsort(org_array)[::-1]
print(argsort_org_array)
#예시
name_array = np.array(['홍길동','손흥민','이강인','김민재','김구'])
score_array = np.array([100,80,38,59,90])
argsort_score_array = np.argsort(score_array)
print("\n")
print(argsort_score_array)
print("\n")
print(name_array[argsort_score_array])
정렬전 선수 | 홍길동 | 손흥민 | 이강인 | 김민재 | 김구 |
정렬전 선수 인덱스 |
0 | 1 | 2 | 3 | 4 |
정렬전 점수 | 100 | 80 | 38 | 59 | 90 |
정렬전 점수 인덱스 |
0 | 1 | 2 | 3 | 4 |
argsort 후 점수 인덱스(오름차순) |
2 | 3 | 1 | 4 | 0 |
선수 array에 argsort 인덱스 적용 |
이강인 | 김민재 | 손흥민 | 김구 | 홍길동 |
'Python > Pandas & numpy' 카테고리의 다른 글
Numpy dot/transpose (0) | 2024.03.14 |
---|---|
Numpy 배열 병합/분할 (0) | 2024.03.10 |
Numpy 인덱스 번호를 활용한 임의값 추가 및 삭제 (0) | 2024.03.10 |
Numpy 전치행렬 (0) | 2024.03.09 |
Numpy 차원축소 (0) | 2024.03.09 |