Bedingte Zeilenentfernung in Pandas DataFrames
Beim Versuch, Zeilen aus zu entfernen, tritt der Fehler „KeyError: u'no item name False“ auf Ein Pandas-DataFrame mit dem Ausdruck „df[(len(df['Spaltenname']) < 2)]“ zeigt an falscher Ansatz.
Um das Problem des Löschens von Zeilen basierend auf einem bedingten Ausdruck direkt anzugehen, stehen in Pandas mehrere Methoden zur Verfügung. Eine effektive Technik ist die Verwendung der drop()-Methode:
df = df.drop(some_labels) df = df.drop(df[<boolean condition>].index)</p> <p><strong>Beispiel:</strong></p> <p>Betrachten Sie einen DataFrame mit einer „Score“-Spalte. So entfernen Sie alle Zeilen, deren Punktzahl unter 50 liegt:</p> <pre class="brush:php;toolbar:false">df = df.drop(df[df.score < 50].index)
Für direkte Löschung:
df.drop(df[df.score < 50].index, inplace=True)
Mehrere Bedingungen:
Mithilfe der booleschen Indizierung ist es möglich, mehrere Bedingungen für die Zeilenentfernung zu kombinieren. Um beispielsweise Zeilen zu löschen, bei denen der „Score“ sowohl unter 50 als auch über 20 liegt:
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)
Durch die Anwendung dieser bedingten Entfernungsmethoden ist es einfach, Zeilen basierend auf angegebenen Kriterien aus Pandas-DataFrames zu entfernen.
Das obige ist der detaillierte Inhalt vonWie entferne ich effektiv Zeilen aus Pandas-DataFrames basierend auf bedingten Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!