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)