>백엔드 개발 >파이썬 튜토리얼 >NumPy 배열에서 특정 값의 행 인덱스를 효율적으로 찾는 방법은 무엇입니까?

NumPy 배열에서 특정 값의 행 인덱스를 효율적으로 찾는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-07 17:22:13717검색

How to Efficiently Find Row Indices of Specific Values in a NumPy Array?

Finding the Index of Specific Values ​​in a NumPy Array

Problem:

Given an array X, determin indices of specified values ​​stored in searched_values. For instance, in the following example, we seek the indices for the values ​​[4, 2], [3, 3], and [5, 6] within the array X.

X = np.array([[4,  2],
              [9,  3],
              [8,  5],
              [3,  3],
              [5,  6]])

searched_values = np.array([[4, 2],
                            [3, 3],
                            [5, 6]])

The desired output would be:

[0, 3, 4]

Solutions:

Approach 1: NumPy Broadcasting

를 이용하는 방법입니다 np.wh 및 브로드 캐스트 기능은 다음과 같습니다. 를 사용하여 각 행을 고유한 선형 인덱스로 변환하는 방법이 있습니다. NumPy의 np.searchsorted 를 사용하여 선형 인덱스를 빠르게 찾을 수도 있습니다. 인덱스의 선형 인덱스 표현을 작성합니다. 차원 다차원 배열의 색인으로 해석하고 해당 선형 색인을 생성합니다. 됩니다. 의 각 행이 가지는 선형 인덱스를 나타내고 있습니다. 이 선형 인덱스는 배열내의 각 행을 일의에 식별하기 위해서 사용할 수 있습니다. .

np.where((X == searched_values[:, None]).all(-1))[1]

접근법 중 하나를 사용하여 배열 X 에서 특정 값의 행 인덱스를 쉽게 식별할 수 있습니다.

위 내용은 NumPy 배열에서 특정 값의 행 인덱스를 효율적으로 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.