Numpy array sort하는 법(sort(), unique())

안녕하세요 jay입니다.
오늘은 numpy array의 item들을 sorting하는 법에 대해 알아보도록 하겠습니다.

sort함수는 주어진 array의 item들을 오름차순으로 sorting해주는 함수입니다.
2차원이상일 경우 axis를 이용해서 행, 열 기준으로 sorting이 가능합니다.
# numpy sort

import numpy as np

arr = np.arange(1,16)
np.random.shuffle(arr)
arr = arr.reshape(3,5)
print(arr)

"""
[[ 8 12  2  1  4]
 [ 9 14 15 13  6]
 [ 7  3 11  5 10]]
"""

# array의 item들을 순서대로 sort해줌
arr_sort = np.sort(arr)
print(arr_sort)
"""
[[ 1  2  4  8 12]
 [ 6  9 13 14 15]
 [ 3  5  7 10 11]]
"""

# axis = 0 행기준으로 sort
arr_sort2 = np.sort(arr, axis = 0)
print(arr_sort2)

"""
[[ 7  3  2  1  4]
 [ 8 12 11  5  6]
 [ 9 14 15 13 10]]
"""

# axis = 1 열기준으로 sort
arr_sort2 = np.sort(arr, axis = 1)
print(arr_sort2)

"""
[[ 1  2  4  8 12]
 [ 6  9 13 14 15]
 [ 3  5  7 10 11]]
"""

np.unique() : array값들을 중복 제거하여 1차원으로 반환하는 함수
import numpy as np

# np.unique(array) : array의 값들을 정렬(중복 제거)하여 1차원으로 반환하는 함수

arr = np.random.randint(-10,10,(2,5))
print(arr)
"""
[[ -3   9   8   1 -10]
 [  3   7   3  -1   1]]
"""

print(np.unique(arr)) # [-10  -3  -1   1   3   7   8   9]

댓글