>백엔드 개발 >파이썬 튜토리얼 >여러 NumPy 배열에서 논리적 OR/AND 연산을 어떻게 수행할 수 있습니까?

여러 NumPy 배열에서 논리적 OR/AND 연산을 어떻게 수행할 수 있습니까?

DDD
DDD원래의
2024-11-27 17:52:11644검색

How Can I Perform Logical OR/AND Operations on Multiple NumPy Arrays?

여러 배열에 Numpy의 논리 연산 적용

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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