ㅅㅇ

numpy _ 02_2 정렬 본문

AI_STUDY/Numpy

numpy _ 02_2 정렬

SO__OS 2022. 6. 24. 00:25
플레이데이터 빅데이터캠프 공부 내용 _ 6/22

numpy _ 02_2 정렬

1.  np.sort(arr)     x.sort()    :   arr을 정렬

 np.sort(arr)  

:  x를 정렬한 새로운 배열을 반환 (원본을 바꾸지 않음.)

 

  x.sort() 

:  원본이 정렬됨.

 

 

1)  내림차순 정렬 옵션 없음. 오름차순 뿐이다.

 

# 오름차순 정렬 (내림차순 정렬 옵션 없음)
np.sort(x)

 

- > 만약 내림차순 정렬하고 싶다면?

    

# 내림차순 정렬 - sort() 로 정렬한 뒤에 reverse 시킨다.
y2 = np.sort(x)[::-1]

# 내림차순 정렬 - 마이너스이용해
-np.sort(-x)

 

 

2)  2차원 배열 정렬

s2 = np.random.randint(10,20,size=(5,4))
s2
array([[12, 10, 18, 13],
       [16, 17, 15, 18],
       [13, 18, 18, 10],
       [12, 16, 18, 15],
       [17, 18, 16, 12]])

 

- axis = None (기본)  = >  마지막 축을 기준으로 정렬

   2차원 배열에서는 axis = 1

np.sort(s2)  # axis = 1 수평 방향으로 정렬
array([[10, 12, 13, 18],
       [15, 16, 17, 18],
       [10, 13, 18, 18],
       [12, 15, 16, 18],
       [12, 16, 17, 18]])

 

 -  axis = 0 수직 방향으로 정렬 

np.sort(s2, axis=0)
array([[10, 11, 10, 12],
       [10, 12, 10, 12],
       [14, 15, 10, 17],
       [17, 18, 18, 17],
       [18, 18, 19, 18]])

 

3.  np.argsort(arr)   :  정렬 후 index를 반환

x3 = np.random.randint(10,20,10)
x3
array([11, 18, 12, 19, 17, 19, 16, 12, 13, 14])

 

- 정렬한 것을 index로 반환. 오름차순 index로 반환
  중복은 인덱스 순번대로

np.argsort(x3)
array([0, 2, 7, 8, 9, 6, 4, 1, 3, 5], dtype=int64)
 
 

'AI_STUDY > Numpy' 카테고리의 다른 글

numpy _ 04_2 범용함수(Ufunc, Universal function)  (0) 2022.06.24
numpy _ 04_1 벡터 연산  (0) 2022.06.24
numpy _ 02_1 배열의 원소 조회  (0) 2022.06.24
numpy _ 01_2 배열 생성  (0) 2022.06.23
numpy _ 01_1 개요  (0) 2022.06.21