>백엔드 개발 >파이썬 튜토리얼 >Pandas에서 부울 인덱싱을 위해 논리 연산자를 올바르게 사용하는 방법은 무엇입니까?

Pandas에서 부울 인덱싱을 위해 논리 연산자를 올바르게 사용하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-18 05:38:10615검색

How to Correctly Use Logical Operators for Boolean Indexing in Pandas?

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

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