여러 조건으로 DataFrame을 인덱싱할 때 Pandas\' AND(&) 및 OR(|) 연산자가 반전된 것처럼 보이는 이유는 무엇입니까?
pandas: 데이터 프레임을 인덱싱하는 동안 여러 조건으로 인한 예기치 않은 동작
여러 열의 값을 기준으로 DataFrame의 행을 필터링할 때 다음 사항이 중요합니다. AND(&) 및 OR(|) 연산자의 동작을 이해합니다.
최근 관찰에서 이러한 연산자의 동작이 반대인 것으로 나타났습니다. OR 연산자는 AND 연산자처럼 동작하고 그 반대도 마찬가지입니다.
설명을 위해 다음 DataFrame을 고려해보세요.
<code class="python">df = pd.DataFrame({'a': range(5), 'b': range(5) }) # Insert -1 values df['a'][1] = -1 df['b'][1] = -1 df['a'][3] = -1 df['b'][4] = -1 df1 = df[(df.a != -1) & (df.b != -1)] df2 = df[(df.a != -1) | (df.b != -1)] print(pd.concat([df, df1, df2], axis=1, keys=['Original df', 'Using AND (&)', 'Using OR (|)']))</code>
결과는 다음과 같습니다.
<code class="python"> Original df Using AND (&) Using OR (|) a b a b a b 0 0 0 0 0 0 0 1 -1 -1 NaN NaN NaN NaN 2 2 2 2 2 2 2 3 -1 3 NaN NaN -1 3 4 4 -1 NaN NaN 4 -1 [5 rows x 6 columns]</code>
출력에서 볼 수 있듯이 AND 연산자는 하나 이상의 값이 -1인 행을 삭제하는 반면 OR 연산자는 두 값이 모두 -1이 아닌 행을 유지합니다.
이 동작은 직관에 반하는 것처럼 보일 수 있지만 삭제하지 않고 유지하려는 행에 대한 조건을 지정하고 있다는 것을 기억하면 알 수 있습니다.
- df1의 경우 행을 유지하도록 지정하고 있습니다. 둘 다 df.a와 df.b는 -1이 아닙니다.
- df2의 경우 df.a 또는 둘 중 하나 행을 유지하도록 지정합니다. df.b는 -1이 아닙니다.
따라서 관찰된 동작은 정확합니다.
위 내용은 여러 조건으로 DataFrame을 인덱싱할 때 Pandas\' AND(&) 및 OR(|) 연산자가 반전된 것처럼 보이는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

forhandlinglargedatasetsinpython, usenumpyarraysforbetterperformance.1) numpyarraysarememory-effic andfasterfornumericaloperations.2) leveragevectorization foredtimecomplexity.4) managemoryusage withorfications data

inpython, listsusedyammoryAllocation과 함께 할당하고, whilempyarraysallocatefixedMemory.1) listsAllocatemememorythanneedInitiality.

Inpython, youcansspecthedatatypeyfelemeremodelerernspant.1) usenpynernrump.1) usenpynerp.dloatp.ploatm64, 포모 선례 전분자.

numpyissentialfornumericalcomputinginpythonduetoitsspeed, memory-efficiency 및 comperniveMathematicaticaltions

contiguousUousUousUlorAllocationScrucialForraysbecauseItAllowsOfficationAndFastElementAccess.1) ItenableSconstantTimeAccess, o (1), DuetodirectAddressCalculation.2) Itimprovesceeffiency theMultipleementFetchespercacheline.3) Itsimplififiesmomorym

slicepaythonlistisdoneusingthesyntaxlist [start : step : step] .here'showitworks : 1) startistheindexofthefirstelementtoinclude.2) stopistheindexofthefirstelemement.3) stepisincrementbetwetweentractionsoftortionsoflists

NumpyAllowsForVariousOperationsOnArrays : 1) BasicArithmeticLikeadDition, Subtraction, A 및 Division; 2) AdvancedOperationsSuchasmatrixmultiplication; 3) extrayintondsfordatamanipulation; 5) Ag

Arraysinpython, 특히 Stroughnumpyandpandas, areestentialfordataanalysis, setingspeedandefficiency


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
