Pandas의 부울 인덱싱을 위한 논리 연산자
Pandas에서 부울 인덱싱 작업을 하는 동안 및를 사용하려고 하면 오류가 발생할 수 있습니다. 다음과 같이 계열 비교를 통해 연산자를 직접 사용할 수 있습니다. 예:
a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)]
Python은 여러 요소가 있는 배열에 부울 값을 할당할 수 없기 때문에 ValueError가 발생합니다. 대신 요소별 논리 AND 연산에는 & 연산자를 사용해야 합니다.
a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)]
이러한 구별은 and 연산자가 부울 평가를 수행하는 반면 & 연산자는 요소별 논리 연산을 수행하기 때문에 발생합니다. 및를 사용한 계열 비교를 평가할 때 Python은 요소 컬렉션에 부울 값을 할당하는 모호성을 처리하는 방법을 결정할 수 없습니다.
올바른 요소별 논리 연산을 보장하려면 다음과 관련된 표현식에서 괄호가 중요합니다. & 연산자. 괄호를 무시하면 다음과 같이 의도하지 않은 평가 순서가 발생할 수 있습니다.
a['x']==1 & a['y']==10
다음과 같이 해석됩니다.
(a['x'] == 1) & (a['y'] == 10)
대신 올바른 표현은 다음과 같습니다.
(a['x']==1) & (a['y']==10)
부울 평가와 요소별 논리 연산의 차이점을 이해하면 부울 인덱싱에 논리 연산자를 효과적으로 사용할 수 있습니다. Pandas에서.
위 내용은 Pandas에서 부울 인덱싱을 위해 논리 연산자를 올바르게 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!