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

두 개 이상의 NumPy 배열에서 논리 OR 연산을 어떻게 수행할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-02 18:41:18999검색

How Can I Perform a Logical OR Operation on More Than Two NumPy Arrays?

여러 인수를 갖는 Numpy의 logic_or 함수

Numpy의 logic_or 함수는 두 배열을 비교하고 다음에 따라 True 또는 False 값을 갖는 배열을 반환하도록 설계되었습니다. 비교 결과. 그러나 이 함수는 최대 2개의 인수만 처리할 수 있습니다. logic_or를 사용하여 두 개 이상의 배열 조합을 찾으려면 다음과 같은 여러 옵션이 있습니다.

logical_or 호출 연결

한 가지 접근 방식은 여러 개의 logic_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)

print(result)

출력:

[ True  True  True False]

이 방법은 배열을 순차적으로 결합하고 이에 대해 하나씩 logic_or을 수행하는 방식으로 작동합니다.

사용 감소

여러개의 logic_or 호출을 결합하는 보다 간결한 방법 NumPy의 축소 기능을 사용하는 것입니다:

result = np.logical_or.reduce((x, y, z))

print(result)

출력:

[ True  True  True False]

reduce는 주어진 일련의 배열에 대해 지정된 작업(이 경우 logic_or)을 적용합니다.

파이썬의 Reduce

또는 Python은 사용할 수 있는 축소 함수도 제공합니다.

from functools import reduce

result = reduce(np.logical_or, (x, y, z))

print(result)

출력:

[ True  True  True False]

Python의 축소는 다음에서 덜 일반적으로 사용됩니다. 그러한 경우에는 더 간단한 대안이 있는 경우가 많습니다. 사용할 수 있습니다.

any

NumPy의 any 함수를 사용하면 여러 배열의 합집합을 찾을 수도 있습니다. 단, 배열의 차원을 지정하려면 명시적인 축 인수가 필요합니다. 수행하기 위해 연산:

result = np.any((x, y, z), axis=0)

print(result)

출력:

[ True  True  True False]

any는 지정된 축에 있는 요소가 True인지 여부를 나타내는 True 또는 False 값이 있는 배열을 반환합니다.

마찬가지로 , logic_and 및 기타 논리 함수는 유사한 방식으로 작동하여 연결, 축소 및 두 개 이상의 인수를 결합하는 모든 작업을 허용합니다.

위 내용은 두 개 이상의 NumPy 배열에서 논리 OR 연산을 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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