Heim > Backend-Entwicklung > Python-Tutorial > Wie filtere ich Zeilen basierend auf dem Wertebereich in einem DataFrame ohne mehrdeutige Wahrheitswerte?

Wie filtere ich Zeilen basierend auf dem Wertebereich in einem DataFrame ohne mehrdeutige Wahrheitswerte?

DDD
Freigeben: 2024-11-19 10:13:03
Original
1033 Leute haben es durchsucht

How to Filter Rows Based on Value Range in a DataFrame Without Ambiguous Truth Values?

Auswählen von Zeilen basierend auf dem Wertebereich in einem DataFrame

Bei der Arbeit mit DataFrames kann es notwendig sein, Zeilen basierend auf einem bestimmten Bereich zu filtern von Werten in einer bestimmten Spalte. Betrachten Sie beispielsweise einen DataFrame mit dem Namen „df“, der eine Spalte „closure_price“ enthält. Um Zeilen zu extrahieren, in denen die Werte in „closure_price“ zwischen 99 und 101 liegen, wird üblicherweise der folgende Code verwendet:

df[99 <= df['closing_price'] <= 101]
Nach dem Login kopieren

Dieser Code kann jedoch einen ValueError auslösen, der „mehrdeutiger Wahrheitswert einer Reihe“ angibt. Dieser Fehler tritt auf, weil der Vergleich zu einer Reihe boolescher Werte führt und der Versuch, diese direkt für die Zeilenauswahl zu verwenden, zu Mehrdeutigkeiten führen kann.

Glücklicherweise gibt es eine geeignetere Methode, um diese Filterung zu erreichen, ohne auf Schleifen zurückgreifen zu müssen . Hier ist der korrigierte Code mit Series.between():

df[df['closing_price'].between(99, 101)]
Nach dem Login kopieren

Series.between() bietet eine einfache Möglichkeit, zu überprüfen, ob Werte in einer Serie in einen angegebenen Bereich fallen. Diese Methode benötigt zwei Argumente: die Untergrenze und die Obergrenze. Im obigen Beispiel geben wir 99 und 101 als Unter- bzw. Obergrenze an, um Zeilen auszuwählen, in denen der Schlusspreis zwischen diesen Werten liegt.

Diese Methode löst das Mehrdeutigkeitsproblem effektiv, indem sie eine Reihe boolescher Werte zurückgibt Geben Sie explizit an, ob jede Zeile die Kriterien erfüllt. Diese booleschen Werte werden dann zum Filtern und Auswählen der gewünschten Zeilen aus dem DataFrame verwendet.

Das obige ist der detaillierte Inhalt vonWie filtere ich Zeilen basierend auf dem Wertebereich in einem DataFrame ohne mehrdeutige Wahrheitswerte?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage