• 회원가입
  • 로그인
  • 구글아이디로 로그인

[numpy] PY - NumPy Sorting Arrays (배열 정렬) - sort() 메서드 ★

6961  

목차

  1. sort() 정의 - 배열 정렬
  2. sort() 구문 
  3. sort() 예제 - 1차원 배열 정렬
  4. sort() 에제 - 2차원 배열 정렬

 

sort() 정의 - 배열 정렬

 

배열 복사 후, 요소를 (오름차순/내림차순) 정렬해 반환.

※ 숫자, 문자열, 참거짓 등 정렬 가능.

※ 다차원 배열 경우, 각각의 배열 내, 배열 간 정렬 가능.


 

sort() 구문

※ import numpy as np

 

1차원 배열 오름차순

np.sort(arr)

 

1차원 배열 내림차순

np.sort(arr)[::-1] 


2차원 배열 세로축 (=열축)간 비교 후 오름차순.

np.sort(arr, axis=1)

※ 1차원 내림차순 코드 결과와 동일.

 

2차원 배열 세로축(=열축)간 비교 후 내림차순. (※ 잘 사용 X)

np.sort(arr, axis=1)[::-1]

※ 1차원 오름차순 코드 결과와 동일.

 

2차원 배열 가로축(=행축)간 비교 후 오름차순

np.sort(arr, axis=0)

 

2차원 배열 가로축(=행축)간 비교 후 내림차순

np.sort(arr, axis=0)[::-1]

 


[매개변수]

 

arr

필수. 배열.

 

axis

선택. 값간 비교할 기준 축.

axis=1 : 세로축 (= 열축)

axis=0 : 가로축 (= 행축)

 

ps. 

[::-1]

선택. 다차원 배열 시, 배열 순서 뒤집기. (= 역순)

 

 

sort() 예제 - 1차원 배열 정렬

[예제1] - 숫자 (오름차순/내림차순) 정렬

 

import numpy as np

arr = np.array([3, 2, 0, 1])

print(np.sort(arr)) # [0 1 2 3]

print(np.sort(arr)[::-1]) # [3 2 1 0] 

 


[예제2] - 문자열 (오름차순/내림차순) 정렬

 

import numpy as np

arr = np.array(['HTML', 'CSS', 'JS'])

print(np.sort(arr)) # ['CSS' 'HTML' 'JS']

print(np.sort(arr)[::-1]) # ['JS' 'HTML' 'CSS']



[예제3] - 참거짓 (오름차순/내림차순) 정렬

 

import numpy as np

arr = np.array([True, False, True])

print(np.sort(arr)) # [False True True]

print(np.sort(arr)[::-1]) # [True True False]

 

 

sort() 에제 - 2차원 배열 정렬

[예제1] - 2차원 배열 세로축(=열축)간 비교 후 오름차순

※ 1차원 오름차순 코드 결과와 동일.

 

import numpy as np

arr = np.array([[4, 3, 5], [6, 1, 2], [9, 7, 8], [11, 10, 12]])

print(np.sort(arr, axis=1))

 

결과값:

[[ 3  4  5]

 [ 1  2  6]

 [ 7  8  9]

 [10 11 12]] 


[예제2] - 2차원 배열 세로축(=열축)간 비교 후, 배열 역순

※ 1차원 내림차순 코드 결과와 동일.

※ 이 경우는 잘 사용 X. 

∵ 값비교방향과 배열순서조정방향이 십자교차해 정렬 무의미.

 

import numpy as np

arr = np.array([[4, 3, 5], [6, 1, 2], [9, 7, 8], [11, 10, 12]])

print(np.sort(arr, axis=1)[::-1])

 

결과값:

[[10 11 12]

 [ 7  8  9]

 [ 1  2  6]

 [ 3  4  5]]


[예제3] - 2차원 배열 가로축(=행축)간 비교 후, 오름차순

 

import numpy as np

arr = np.array([[4, 3, 5], [6, 1, 2], [9, 7, 8], [11, 10, 12]])

print(np.sort(arr, axis=0))

 

결과값:

[[ 4  1  2]

 [ 6  3  5]

 [ 9  7  8]

 [11 10 12]]


[예제4] - 2차원 배열 가로축(=행축)간 비교 후, 내림차순

 

import numpy as np

arr = np.array([[4, 3, 5], [6, 1, 2], [9, 7, 8], [11, 10, 12]])

print(np.sort(arr, axis=0)[::-1])

 

결과값: 

[[11 10 12]

 [ 9  7  8]

 [ 6  3  5]

 [ 4  1  2]] 



분류 제목
numpy PY - NumPy Random : Binomial Distribution (이항 분포)
numpy PY - NumPy Random : Poisson Distribution (푸아송 분포)
numpy PY - NumPy Random : Uniform Distribution (균등 분포)
numpy PY - NumPy Random : Logistic Distribution (로지스틱 분포)
numpy PY - NumPy Random : Multinomial Distribution (다항 분포)
numpy PY - NumPy Random : Exponential Distribution (지수 분포)
numpy PY - NumPy Random : Chi Square Distribution (카이제곱 분포)
numpy PY - NumPy Random : Rayleigh Distribution (레일리 분포)
numpy PY - NumPy Random : Pareto Distribution (파레토 분포)
numpy PY - NumPy Random : Zipf Distribution (지프 분포)
numpy Python - NumPy ufuncs : Intro (일반함수 소개)
numpy PY - NumPy ufuncs : Create Function (일반함수 생성)
numpy PY - NumPy ufuncs : Simple Arithmetic (간단 산수)
numpy PY - NumPy ufuncs : Rounding Decimals (반올림 소수점)
numpy PY - NumPy ufuncs : Logs (로그)
numpy PY - NumPy ufuncs : Summations (합계=합산)
numpy PY - NumPy ufuncs : Products (요소 곱셈)
numpy PY - NumPy ufuncs : Differences (요소의 차)
numpy PY - NumPy ufuncs : Finding LCM (최소공배수 찾기)
numpy PY - NumPy ufuncs : Finding GCD (최대공약수 찾기)
2/3
목록
찾아주셔서 감사합니다. Since 2012