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]
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)]
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!