sort 함수
기본적으로 오름차순으로 정렬한다.
arr = np.random.randint(10, size=10)
print(arr)
[1 8 5 3 4 5 7 6 4 8]
print(np.sort(arr))
[1 3 4 4 5 5 6 7 8 8]
print(np.sort(arr)[::-1]) #처음부터 끝까지 역순으로 출력
[8 8 7 6 5 5 4 4 3 1]
원본 배열은 바뀌지 않고 그대로인 상태다.
arr = np.sort(arr)
arr.sort()
원본 배열의 값을 바꾸기 위해서는 위 방식을 사용하면 된다.
기본적으로 axis=1기준으로 오름차순으로 정렬된다.
arr = np.random.randint(15, size=(3,4))
print(arr)
[[ 3 7 0 8]
[10 8 8 2]
[ 7 3 7 1]]
print(np.sort(arr))
[[ 0 3 7 8]
[ 2 8 8 10]
[ 1 3 7 7]]
print(np.sort(arr, axis = 0))
[[ 3 3 0 1]
[ 7 7 7 2]
[10 8 8 8]]
print(np.sort(arr, axis = None))
[ 0 1 2 3 3 7 7 7 8 8 8 10]
axis = none 으로 할 경우 1차원 배열로 변경해 오름차순으로 정렬한다.
argsort 함수
원소가 정렬이 되었을 때 정렬된 원소의 원래 배열에서의 인덱스를 반환한다.
print(np.sort(arr,axis=1))
[[ 0 3 7 8]
[ 2 8 8 10]
[ 1 3 7 7]]
print(np.argsort(arr,axis=1))
[[2 0 1 3]
[3 1 2 0]
[3 1 0 2]]
print(np.sort(arr,axis=0))
[[ 3 3 0 1]
[ 7 7 7 2]
[10 8 8 8]]
print(np.argsort(arr,axis=0))
[[0 2 0 2]
[2 0 2 1]
[1 1 1 0]]