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

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

6967  

목차

  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]] 



분류 제목
module Python - math.log() 메서드 -
module Python - math.log10() 메서드 -
module Python - math.log1p() 메서드 -
module Python - math.log2() 메서드 -
module Python - math.perm() 메서드 -
module Python - math.pow() 메서드 ★ - 승수값 (= 누승값 = pow메서드 = 포오 = 파워)
module Python - math.prod() 메서드 -
module Python - math.radians() 메서드 -
module Python - math.remainder() 메서드 ★ - 나머지 반환. (= remainder메서드 = …
module Python - math.sin() 메서드 -
module Python - math.sinh() 메서드 -
module Python - math.sqrt() 메서드 -
module Python - math.tan() 메서드 -
module Python - math.tanh() 메서드 -
module Python - math.trunc() 메서드 ★ - 정수 부분 반환. (= trunc메서드 = 트렁크)
module Python - math.e 상수 - 오일러 상수 (2.71...)
module Python - math.inf 상수 - float 자료형의 무한대 상수 (= inf) 반환.
module Python - math.nan 상수 - float 자료형의 NaN 상수 (= nan) 반환.
module Python - math.pi 상수 - 원주율 (= 3.14...) 반환. (= 파이 상수)
module Python - math.tau 상수 - 원주율 2배 (= 6.28...) 반환. (= 타우 상수)
21/24
목록
찾아주셔서 감사합니다. Since 2012