반응형
목차
파이썬 넘파이 Sort 메소드
파이썬의 리스트와 행렬 정렬을 위해 Numpy라는 라이브러리의 sort 함수를 사용하면 쉽게 할 수 있습니다.
사용 방법은 아래와 같습니다.
numpy.sort(넘파이 행렬)
numpy.sort(넘파이 행렬)[::-1]
numpy.sort(넘파이 행렬, axis = 0)
numpy.sort(넘파이 행렬, axis = 1)
1번 라인: 기본 정렬
2번 라인: 배열일 경우 리스트 간 정렬
3번 라인: 열(Column) 정렬
4번 라인: 행(Row) 정렬
위 그림을 통해 axis 방향을 참조 하시면 됩니다.
아래 예제 코드를 통해 쉽게 이해하실 수 있습니다.
배열 값 정렬 하기 (Matrix Sorting) 예제
예제 코드>>
import numpy as np
import random
x_list = []
y_list = []
z_list = []
for _ in range(3):
x_list.append(random.randint(1,10))
y_list.append(random.randint(1,10))
z_list.append(random.randint(1,10))
numpy_list = np.array([x_list, y_list, z_list])
print("numpy_list: \n",numpy_list)
print("np.sort(numpy_list, axis=0): \n",np.sort(numpy_list, axis=0))
print("np.sort(numpy_list, axis=1): \n",np.sort(numpy_list, axis=1))
print("np.sort(numpy_list, axis=0)[::-1]: \n",np.sort(numpy_list, axis=0)[::-1])
print("np.sort(numpy_list, axis=1)[::-1]: \n",np.sort(numpy_list, axis=1)[::-1])
4~10번 라인: 3개의 랜덤 리스트 형성
12번 라인: 리스트로 넘파이 배열 생성
14~17번 라인: 다양한 정렬 조합
결과>>
numpy_list:
[[6 8 4]
[8 2 3]
[2 7 4]]
np.sort(numpy_list, axis=0):
[[2 2 3]
[6 7 4]
[8 8 4]]
np.sort(numpy_list, axis=1):
[[4 6 8]
[2 3 8]
[2 4 7]]
np.sort(numpy_list, axis=0)[::-1]:
[[8 8 4]
[6 7 4]
[2 2 3]]
np.sort(numpy_list, axis=1)[::-1]:
[[2 4 7]
[2 3 8]
[4 6 8]]
주석>>
axis 방향에 따라 정렬이 다르게 됨을 알 수 있습니다.
[::-1]을 사용하면 배열의 요소 간에 정렬도 axis 방향에 따라 진행됨을 알 수 있습니다.
반응형
'파이썬(Python) > numpy' 카테고리의 다른 글
[Python] 다양한 랜덤값 생성(정수,실수, 행렬, 선택, 범위선택) (0) | 2022.01.14 |
---|---|
[Python] 리스트 값에 필터 적용하기(Numpy, Filter, Mask, 조건 걸기) (0) | 2022.01.13 |
[Python]리스트 안의 내용 검색 (Numpy, where, search, 값 위치 찾기) (0) | 2022.01.12 |
[Python]날짜 더하기 빼기(Numpy, Datetime) (0) | 2022.01.11 |
[Python]Numpy에서 dtype이란? (데이터 종류, Type) (0) | 2022.01.11 |