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

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

6768  

목차

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



분류 제목
basic Python - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
1/24
목록
찾아주셔서 감사합니다. Since 2012