where() 메서드 - 배열 검색
배열에서 특정 값 검색 후, 일치하는 색인번호 반환.
※ 배열 색인번호는 0부터 시작.
[구문]
np .where('찾을 조건')
[반환값]
일치 색인번호 존재 시, 일치 색인번호 값으로 구성된 배열 반환.
일치 색인번호 없을 시, (array([], dtype=int64),) 반환.
[예제1] 값이 3인 색인번호 반환.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 3, 3])
x = np.where(arr == 3)
print(x)
결과값: (array([2, 5, 6], dtype=int64),)
[예제2] 값이 짝수인 색인번호 반환.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)
결과값: (array([1, 3, 5, 7], dtype=int64),)
[예제3] 값이 홀수인 색인번호 반환.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)
결과값: (array([0, 2, 4, 6], dtype=int64),)
searchsorted() 메서드 - 검색 정렬
배열 값을 binary(이진) 검색 후, 넣을 값의 색인번호 반환.
※ 정렬된 배열에서 사용되는 걸로 간주.
[구문]
np .searchsorted(arr, val, side='left' )
[매개변수]
arr
필수. 배열.
val
필수. 넣을 값, 또는 넣을 값들로 구성된 배열.
side='left'
선택. 배열에 동일 값 존재 시, 넣을 방향.
left : 왼쪽 (기본값)
right : 오른쪽
[반환값]
넣을 값이 1개인 경우, 위치할 색인번호 반환.
넣을 값이 여러 개이면, 위치할 색인번호로 구성된 배열 반환.
[예제1] 7이 들어갈 왼쪽 색인번호.
import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)
결과값: 1
[예제2] 7이 들어갈 오른쪽 색인번호
import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)
결과값: 2
[예제3] 여러 값이 들어갈 각각의 왼쪽 색인번호.
import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)
결과값: [1 2 3]
주소 복사
랜덤 이동
최신댓글