두 개의 배열이 있습니다. 다음과 같은 복잡한 조건이 있습니다. new_arr<0 and old_arr>0
0이 아닌 숫자를 사용하고 있지만 오류가 발생합니다.0이 아닌 함수 도움말, Python Numpy
indices = nonzero(new_arr<0 and old_arr>0)
내가 시도 : 내가 가진 코드는 다음입니다
indices = nonzero(new_arr<0) and nonzero(old_arr>0)
그러나 그것은 나에게 잘못된 결과를 주었다.
이 문제가 발생합니까? 그리고 두 개의 0이 아닌 문장에서 공통 색인을 얻는 방법이 있습니다. 예를 들면, :
indices1 = nonzero(new_arr<0)
indices2 = nonzero(old_arr>0)
이 두 지수 포함될 것이다 :
indices1 = array([0, 1, 3])
indices2 = array([2, 3, 4])
올바른 결과 (이 경우는 소자 (3)가 될 것이다)이 두에서 공통 원소를 얻는 것이다. 이런 식으로 뭔가 :
result = common(indices1, indices2)
이것은 정확히 내가 찾고있는 것입니다. & 좋은 옛날 대신에 &를 사용하여 내 마음에 온 적이. 감사! –
+1이지만 입력 배열이 모두 같은 모양 인 경우에만 작동합니다 (OP에는 이러한 가정이 없음). – Radim
@Radim : 그런 가정은 언급하지 않았지만 "일반적인 색인"에 대해 말하면, 더 큰 배열의 크기를 어쨌든 더 작은 배열의 크기로 조정해야합니다. – JAB