Numpy에서 logic_or는 두 배열만 비교할 수 있습니다. 이것은 두 개 이상의 배열의 합집합을 찾는 방법에 대한 질문을 제기합니다. 동일한 질문이 logic_and 및 여러 배열의 교차점 획득에도 적용됩니다.
Numpy 논리 함수의 제한
Numpy는 명시적으로 logic_or를 x1과 x2의 두 인수로 제한합니다.
논리체이닝 작업
logical_or에 대한 여러 호출을 연결할 수 있습니다.
x = np.array([True, True, False, False]) y = np.array([True, False, True, False]) z = np.array([False, False, False, False]) result = np.logical_or(np.logical_or(x, y), z)
결과: [ True, True, True, False]
다음을 사용하여 연결 일반화 Numpy의 Reduce
이 연결을 일반화하려면, NumPy는 축소 기능을 제공합니다:
result = np.logical_or.reduce((x, y, z))
결과: [ True, True, True, False]
이 접근 방식은 다차원 배열에서도 작동합니다:
xyz = np.array((x, y, z)) result = np.logical_or.reduce(xyz)
결과: [참, 참, 참, 거짓]
Python의 Reduce
Python의 functools.reduce도 사용할 수 있습니다.
import functools result = functools.reduce(np.logical_or, (x, y, z))
결과: [ True, True, True, False]
Numpy's Any 기능
Numpy의 모든 기능은 도 사용되지만 명시적인 축 인수가 필요합니다.
result = np.any((x, y, z), axis=0)
결과: [ True, True, True, False]
논리 AND(logical_and) 및 기타 연산
logical_and를 포함한 다른 논리 연산에도 비슷한 방법이 적용됩니다. 예를 들어, logic_xor에는 all 또는 any와 동등한 항목이 없습니다.
위 내용은 여러 NumPy 배열에서 논리적 OR/AND 연산을 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!