numpy 에서 ndarray 배열 이 특정 조건 에 맞 는 색인 방법 을 되 돌려 줍 니 다.

numpy 의 ndarray 형식 에 서 는 특정 색인 을 직접 되 돌려 주 는 방법 이 없 는 것 같 습 니 다.저 는 where 함수 만 찾 았 습 니 다.그러나 where 함 수 는 특정한 값 에 대응 하 는 색인 을 찾 는 데 유용 합 니 다.일정한 구간 내 값 을 되 돌려 주 는 색인 에 효과 적 이지 않 습 니 다.적어도 저 는 어떻게 조작 해 야 할 지 알 지 못 했 습 니 다.다음은 where 함수 의 용법 부터 말씀 드 리 겠 습 니 다.
(1)where 함수 의 사용 장면:
예 를 들 어 지금 나 는 배열 을 만 들 었 다.

import numpy as np 
arr=np.array([1,1,1,134,45,3,46,45,65,3,23424,234,12,12,3,546,1,2]) 
현재 arr 는 18 개의 요 소 를 포함 하 는 ndarray 형식의 배열 입 니 다.그 다음 에 배열 로 부 르 세 요.배열 의 모든 요소 값 이 3 에 해당 하 는 색인 위 치 를 되 돌려 주 고 싶다 면 where 함 수 를 통 해 쉽게 완성 할 수 있 습 니 다.

print np.where(arr==3) 
모든 값 이 3 인 색인 위 치 를 포함 하 는 원 그룹 을 되 돌려 줍 니 다.다음 그림:

색인 이 5,9,14 인 곳 에서 대응 하 는 요소 값 이 3 인 것 을 볼 수 있 습 니 다.이런 방식 을 통 해 쉽게 목적 을 달성 할 수 있다.그러나 일정한 변화 범위 내의 색인 에 대해 서 는 이렇게 하면 안 된다.아래 의 방법 은 자신 이 생각해 낸 절충 방법 으로 비교적 멍청 하고 고수 가 맑 게 뿜 는 다.
(2)보조 배열 을 통 해 일정한 범위 내 값 색인 찾기 를 해결 합 니 다.
우 리 는 표지 요소 색인 의 배열 을 만 든 다음 에 이 를 통 해 조건 에 맞 는 요소 에 대응 하 는 색인 을 표시 합 니 다.아니면 아까 의 배열 입 니까?만약 내 가 지금 원소 값 이 3 에서 100 사이 의 색인 을 되 돌려 주 려 고 한다 면.저 는 arr 와 같은 크기 의 배열 을 만 든 다음 에 먼저 3 이상 의 요소 가 색인 에 대응 하 는 배열 을 한 번 에 선별 한 다음 에 그 중에서 다시 선별 하여 원 하 는 결 과 를 얻 을 수 있 습 니 다.코드 는 다음 과 같 습 니 다:

b=np.arange(len(arr))#   arr        

c=b[arr>3]#c     arr   3         
#      c  ,  3 100         
for i in range(len(c)): 
 if arr[c[i]]<100: 
  print c[i], 
다음은 실행 효 과 를 살 펴 보 겠 습 니 다.

프로그램 이 3 과 100 사이 에 있 는 모든 요소 에 대응 하 는 색인 값 을 표시 하 는 것 을 볼 수 있 습 니 다.색인 값 과 해당 하 는 요 소 를 동시에 얻 으 려 면 위의"print c[i]"를"print c[i],arr[c[i]"로 바 꾸 면 됩 니 다.
물론 이 방법 은 특정한 값 에 대응 하 는 색인 을 선택 하 는 데 도 적 용 됩 니 다.예 를 들 어 저 는 모든 3 에 대응 하 는 위 치 를 찾 고 싶 습 니 다.print b[arr==3]를 사용 하면 모든 값 이 3 인 요소 에 대응 하 는 색인 을 출력 할 수 있 습 니 다.사실 어떻게 하든지 간 에 배열 로 관계 연산 을 한 후에 불 배열 을 생 성 한 다음 에 배열 에서 True 인 곳 을 표시 하도록 한다.
물론 두 번 의 선별 을 통 해 각각 3 이상 의 요소 와 100 이하 의 요소 에 대응 하 는 색인 배열 을 선별 한 다음 에 두 배열 이 교차 처 리 를 할 수 있 습 니 다.numpy 에서 intersect 1d 함수 가 이러한 연산 을 할 수 있 지만 여전히 번 거 롭 습 니 다.지금 은 이런 방법 만 생각 할 수 있 습 니 다.어떤 고수 가 더 좋 은 방법 이 있 는 지 모 르 겠 습 니 다.여러분 이 함께 교류 하 시 는 것 을 환영 합 니 다.
이상 의 numpy 에서 ndarray 배열 이 특정 조건 에 부합 되 는 색인 방법 을 되 돌려 주 는 것 은 바로 작은 편집 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 많은 응원 을 바 랍 니 다.

좋은 웹페이지 즐겨찾기