NumPy 배열에서 요소의 첫 번째 인덱스 찾기

Manav Narula 2023년1월30일
  1. where()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기
  2. nonzero()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기
  3. argmax()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기
  4. index()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기
NumPy 배열에서 요소의 첫 번째 인덱스 찾기

이 자습서에서는 numpy 배열에서 요소의 첫 번째 인덱스를 찾는 방법에 대해 설명합니다.

where()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기

numpy 모듈의where()함수는 일부 조건을 충족하는 요소의 인덱스를 포함하는 배열을 반환하는 데 사용됩니다. 조건은 함수 내에서 지정됩니다.

아래와 같이 배열에서 특정 값의 첫 번째 인덱스를 찾는 데 사용할 수 있습니다.

a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])

print(np.where(a == 1)[0][0])

출력:

5

nonzero()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기

nonzero()함수는 numpy 배열에서 0이 아닌 모든 요소의 인덱스를 리턴합니다. 다차원 배열에 대해 여러 배열의 튜플을 반환합니다.

where()함수와 유사하게 조건을 지정하여 특정 요소의 위치도 반환 할 수 있습니다.

예를 들면

a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])

print(np.nonzero(a == 1)[0][0])

출력:

5

가장 기본적인 목적을 위해where()nonzero()함수는 비슷해 보입니다. 일부 조건이True인 경우 배열a에서, 해당 조건이False인 경우 배열b에서 요소를 선택하려는 경우where()함수에서 차이가 발생합니다.

argmax()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기

argmax()는 배열에서 최대 요소의 인덱스를 찾습니다. 함수에서 같음 조건을 지정하고 필요한 요소의 인덱스도 찾을 수 있습니다.

예를 들면

a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])

print(np.argmax(a == 1))

출력:

5

index()함수를 사용하여 NumPy 배열에서 요소의 첫 번째 인덱스 찾기

이 방법에서는 먼저tolist()함수를 사용하여 배열을 목록으로 변환합니다. 그런 다음index()함수를 사용하여 지정된 요소의 위치를 ​​반환합니다.

다음 코드는이를 구현합니다.

a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])

print(a.tolist().index(1))

출력:

5
작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn