Ich habe einige Suchvorgänge durchgeführt und kann nicht herausfinden, wie ein Datenrahmen gefiltert werden df["col"].str.contains(word)
soll. Ich frage mich jedoch, ob es eine Möglichkeit gibt, das Gegenteil zu tun: Filtern eines Datenrahmens nach dem Kompliment dieses Satzes. zB: zur Wirkung von !(df["col"].str.contains(word))
.
Kann dies durch eine DataFrame
Methode erfolgen?
re.complies
Ich habe viele Artikel mit gesehen und mir gesagt, dass ich später darauf zurückkommen würde. Sieht so aus, als hätte ich die Suche übertrieben und es ist genau so, wie du sagstdf[~df.col.str.contains(word)]
Gibt eine Kopie des ursprünglichen Datenrahmens mit ausgeschlossenen Zeilen zurück, die mit dem Wort übereinstimmen.Ich hatte auch Probleme mit dem nicht (~) -Symbol. Hier ist ein anderer Weg von einem anderen StackOverflow-Thread :
quelle
df[df["col1"].str.contains('this'|'that')==False and df["col2"].str.contains('foo'|'bar')==True]
? Vielen Dank!df = df[~df["col"].str.contains('\|')]
Mit Apply und Lambda können Sie Zeilen auswählen, in denen eine Spalte Elemente in einer Liste enthält. Für Ihr Szenario:
quelle
Ich musste die NULL-Werte entfernen, bevor ich den von Andy oben empfohlenen Befehl verwenden konnte. Ein Beispiel:
Führen Sie nun den Befehl aus:
Ich erhalte folgende Fehlermeldung:
Ich habe die NULL-Werte zuerst mit dropna () oder fillna () entfernt und den Befehl ohne Probleme wiederholt.
quelle
~df["second"].astype(str).str.contains(word)
Konvertierung in erzwingenstr
. Siehe stackoverflow.com/questions/43568760/…Ich hoffe die Antworten sind bereits gepostet
Ich füge das Framework hinzu, um mehrere Wörter zu finden und diese aus dataFrame zu negieren .
Hier
'word1','word2','word3','word4'
= Liste der zu suchenden Musterdf
= DataFramecolumn_a
= Ein Spaltenname von aus DataFrame dfquelle
Zusätzlich zur Antwort von nanselm2 können Sie
0
anstelle vonFalse
:quelle
NaN