NumPy의 부울 배열 모호성 문제 해결
NumPy 작업에서 논리 연산자와 배열 비교를 결합하면 "배열의 진리값" 오류가 발생하는 경우가 많습니다. 요소가 두 개 이상인 경우 모호합니다." 이 문제를 완화하기 위해 근본적인 원인과 잠재적인 해결책을 살펴보겠습니다.
부울 모호성 이해
논리적 맥락에서 배열을 비교할 때 NumPy는 다음을 결정하는 과제에 직면합니다. 배열의 전반적인 진실성. 요소 중 하나라도 True인 경우 True를 반환해야 합니까, 아니면 모든 요소가 True인 경우에만 반환해야 합니까? 모호성은 명확한 규칙이 없기 때문에 발생합니다.
오류 수정
이 모호성을 해결하기 위해 NumPy는 부울 배열을 평가하기 위한 명시적인 방법을 제공합니다.
예:
문제에 언급된 코드를 수정하려면 코드를 바꾸세요. with:
(x > 1).any() and (x < 3).any()
이유
.any()를 사용하여 코드는 배열 내의 요소가 부등식을 충족하는 경우 결과가 True가 되어야 함을 명시적으로 지정합니다. .
부울이 아닌 경우 참고 사항 배열:
부울이 아닌 배열(예: 숫자 값을 포함하는 배열)로 작업할 때 대신 (a - b).any() 또는 (a - b).all() 사용을 고려하세요. (a & b).any() 또는 (a & b).all().
위 내용은 NumPy의 '두 개 이상의 요소가 있는 배열의 진리값이 모호합니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!