Heim >Backend-Entwicklung >Python-Tutorial >Wie entferne ich Zeilen aus einem Pandas-DataFrame basierend auf einer Bedingung?
Bedingtes Löschen von Zeilen in Pandas-DataFrames
Die ursprüngliche Frage zielte darauf ab, Zeilen basierend auf der Zeichenfolgenlänge einer bestimmten Spalte aus einem DataFrame zu entfernen . Obwohl die vorgeschlagene Lösung falsch war, zielt dieser Artikel darauf ab, ein umfassendes Verständnis der bedingten Zeilenlöschung in Pandas zu vermitteln.
Verwendung der Drop-Methode
Um direkt auf die Frage im Titel einzugehen bietet die Drop-Methode einen einfachen Ansatz zum Entfernen von Zeilen basierend auf einem bedingten Ausdruck. Die Syntax lautet wie folgt:
df = df.drop(some labels) df = df.drop(df[<some boolean condition>].index)
Beispiel
So entfernen Sie alle Zeilen, in denen der Wert der Bewertungsspalte weniger als 50 beträgt:
df = df.drop(df[df.score < 50].index)
Für eine direkte Änderung können Sie Folgendes verwenden:
df.drop(df[df.score < 50].index, inplace=True)
Mehrere Bedingungen
Pandas unterstützt die Verwendung logischer Operatoren (| für ODER und für UND , ~ für NOT) zum Erstellen komplexer Bedingungen. Denken Sie daran, sie in Klammern zu setzen.
So entfernen Sie alle Zeilen, in denen die Punktzahl sowohl kleiner als 50 als auch größer als 20 ist:
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)
Das obige ist der detaillierte Inhalt vonWie entferne ich Zeilen aus einem Pandas-DataFrame basierend auf einer Bedingung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!