Heim > Backend-Entwicklung > Python-Tutorial > Wie verwende ich logische Operatoren für die boolesche Indizierung in Pandas richtig?

Wie verwende ich logische Operatoren für die boolesche Indizierung in Pandas richtig?

Patricia Arquette
Freigeben: 2024-12-18 05:38:10
Original
613 Leute haben es durchsucht

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

Logische Operatoren für die boolesche Indizierung in Pandas

Beim Arbeiten mit der booleschen Indizierung in Pandas kann es zu einem Fehler kommen, wenn Sie versuchen, das und zu verwenden Operator direkt mit Reihenvergleichen, wie im folgenden Beispiel zu sehen:

a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)]
Nach dem Login kopieren

Dies führt zu a ValueError, da Python einem Array mit mehreren Elementen keinen booleschen Wert zuweisen kann. Stattdessen müssen wir den &-Operator für elementweise logische Und-Operationen verwenden:

a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)]
Nach dem Login kopieren

Dieser Unterschied entsteht, weil der Und-Operator eine boolesche Auswertung durchführt, während der &-Operator elementweise logische Operationen ausführt. Bei der Auswertung von Reihenvergleichen mit und kann Python nicht bestimmen, wie mit der Mehrdeutigkeit der Zuweisung eines booleschen Werts zu einer Sammlung von Elementen umgegangen werden soll.

Um korrekte elementweise logische Operationen sicherzustellen, sind Klammern in Ausdrücken, die das beinhalten, von entscheidender Bedeutung & Betreiber. Das Vernachlässigen von Klammern kann zu einer unbeabsichtigten Auswertungsreihenfolge führen, wie zum Beispiel:

a['x']==1 & a['y']==10
Nach dem Login kopieren

Was wie folgt interpretiert werden würde:

(a['x'] == 1) & (a['y'] == 10)
Nach dem Login kopieren

Stattdessen lautet der korrekte Ausdruck:

(a['x']==1) & (a['y']==10)
Nach dem Login kopieren

Wenn Sie den Unterschied zwischen boolescher Auswertung und elementweisen logischen Operationen verstehen, können Sie logische Operatoren effektiv für die boolesche Indizierung verwenden Pandas.

Das obige ist der detaillierte Inhalt vonWie verwende ich logische Operatoren für die boolesche Indizierung in Pandas richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage