He realizado algunas búsquedas y no puedo encontrar la manera de filtrar un marco de datos df["col"].str.contains(word), sin embargo, me pregunto si hay una manera de hacer lo contrario: filtrar un marco de datos por el cumplido de ese conjunto. por ejemplo: a los efectos de !(df["col"].str.contains(word)).
¿Se puede hacer esto a través de un DataFramemétodo?

re.compliesy me dije que llegaría a eso más tarde. Parece que sobreajusto la búsqueda y es justo como tú dicesdf[~df.col.str.contains(word)]devuelve una copia del marco de datos original con filas excluidas que coinciden con la palabra.Estaba teniendo problemas con el símbolo no (~) también, así que aquí hay otra forma de otro hilo de StackOverflow :
fuente
df[df["col1"].str.contains('this'|'that')==False and df["col2"].str.contains('foo'|'bar')==True]? ¡Gracias!df = df[~df["col"].str.contains('\|')]Puede usar Apply y Lambda para seleccionar filas donde una columna contiene cualquier cosa en una lista. Para su escenario:
fuente
Tuve que deshacerme de los valores NULL antes de usar el comando recomendado por Andy anteriormente. Un ejemplo:
Ahora ejecuta el comando:
Obtuve el siguiente error:
Primero me deshice de los valores NULL usando dropna () o fillna () y volví a intentar el comando sin ningún problema.
fuente
~df["second"].astype(str).str.contains(word)para forzar la conversión astr. Ver stackoverflow.com/questions/43568760/…Espero que las respuestas ya estén publicadas
Estoy agregando el marco para encontrar varias palabras y negar las del marco de datos .
Aquí
'word1','word2','word3','word4'= lista de patrones para buscardf= DataFramecolumn_a= Un nombre de columna de DataFrame dffuente
Adicional a la respuesta de nanselm2, puede usar en
0lugar deFalse:fuente
NaN