NumPy 배열 검색

배열 검색

배열에서 특정 값을 검색(조회)할 수 있으며, 그 후 일치하는 인덱스를 반환할 수 있습니다.

배열을 검색하려면 사용하세요 where() 메서드.

예제

값 4의 인덱스를 찾기:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

예제 실행

이 예제는 튜플을 반환합니다:(array([3, 5, 6],)

의미는 값 4가 인덱스 3, 5, 6에 나타나는 것입니다.

예제

짝수 값을 가진 인덱스를 찾기:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)

예제 실행

예제

홀수 값을 가진 인덱스를 찾기:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)

예제 실행

검색 정렬

이름이 searchsorted() 의 방법, 이 방법은 배열에서 이진 탐색을 수행하고 지정된 값이 검색 순서를 유지하도록 삽입될 인덱스를 반환합니다.

추정하다 searchsorted() 이 메서드는 배열을 정렬하는 데 사용됩니다.

예제

7을 삽입해야 하는 인덱스를 찾습니다:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)

예제 실행

예제 설명:정렬 순서를 유지하기 위해 인덱스 1에 숫자 7을 삽입해야 합니다.

이 메서드는 왼쪽에서 시작하여 숫자 7이 다음 값보다 크지 않은 첫 번째 인덱스를 반환합니다.

오른쪽에서 검색

기본적으로 가장 왼쪽의 인덱스를 반환하지만, 지정할 수 있습니다. side='right'가장 오른쪽의 인덱스를 반환합니다.

예제

오른쪽에서 시작하여 값 7을 삽입해야 하는 인덱스를 찾습니다:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)

예제 실행

예제 설명:정렬 순서를 유지하기 위해 인덱스 2에 숫자 7을 삽입해야 합니다.

이 메서드는 오른쪽에서 시작하여 숫자 7이 다음 값보다 작지 않은 첫 번째 인덱스를 반환합니다.

여러 값

여러 값을 검색하려면 특정 값을 가진 배열을 사용하십시오.

예제

2, 4, 6을 삽입하여 값이 추가되는 인덱스를 찾습니다:

import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)

예제 실행

반환 값은 배열입니다:[1 2 3] 세 개의 인덱스가 포함되어 있으며, 원본 배열에 2, 4, 6을 삽입하여 순서를 유지합니다.