Ich habe einen Pandas DataFrame und ich möchte Zeilen löschen, wo die Länge der Zeichenfolge in einer bestimmten Spalte größer als 2 ist. Ich weiß, ich kann df.dropna()
verwenden um Zeilen loszuwerden, die NaN
enthalten, aber ich sehe nicht, wie Zeilen basierend auf einem bedingten Ausdruck entfernt werden.Wie lösche Zeilen von einem Pandas DataFrame basierend auf einem bedingten Ausdruck
Die Antwort für this question sehr nahe scheint, was ich will - es scheint, als ob ich in der Lage sein sollte, so etwas zu tun:
df[(len(df['column name']) < 2)]
aber bekomme ich nur die Fehlermeldung:
KeyError: u'no item named False'
Kann mir jemand sagen, was ich falsch mache?
ich kam mit einer Art und Weise unter Verwendung einer Liste Verständnis auf: 'df [[(len (x) <2) für x in df [‚Spaltennamen‘ ]]]] aber dein ist viel schöner. Danke für Ihre Hilfe! – sjs