with values str index containing column cannot python pandas contains

python - values - busque "does-not-contain" en un marco de datos en pandas



select rows containing string pandas (3)

Puede usar el operador de inversión (~) (que actúa como un no para datos booleanos):

~df["col"].str.contains(word)

contiene también acepta una expresión regular ...

He hecho algunas búsquedas y no sé cómo filtrar un marco de datos por df["col"].str.contains(word) , sin embargo, me pregunto si hay una forma de hacer lo contrario: filtrar un dataframe por el cumplido de ese conjunto. por ejemplo: al efecto de !(df["col"].str.contains(word)) .

¿Se puede hacer esto a través de un método DataFrame ?


También estaba teniendo problemas con el símbolo no (~), así que aquí hay otra forma de otro hilo de :

df[df["col"].str.contains(''this|that'')==False]


Tuve que deshacerme de los valores NULL antes de usar el comando recomendado por Andy arriba. Un ejemplo:

df = pd.DataFrame(index = [0, 1, 2], columns=[''first'', ''second'', ''third'']) df.ix[:, ''first''] = ''myword'' df.ix[0, ''second''] = ''myword'' df.ix[2, ''second''] = ''myword'' df.ix[1, ''third''] = ''myword'' df first second third 0 myword myword NaN 1 myword NaN myword 2 myword myword NaN

Ahora ejecutando el comando:

~df["second"].str.contains(word)

Obtuve el siguiente error:

TypeError: bad operand type for unary ~: ''float''

Me deshice de los valores NULL usando primero dropna () o fillna () y reintenté el comando sin ningún problema.