如何通过不包含子字符串的单元格过滤pandas数据框?

bpr*_*bpr 7 python pandas

我想过滤数据帧以查找不包含字符串'site'的行.

我知道如何过滤包含'site'但无法反向工作的行.这是我到目前为止:

def rbs(): #removes blocked sites
    frame = fill_rate()
    mask = frame[frame['Media'].str.contains('Site')==True]
    frame = (frame != mask)
    return frame
Run Code Online (Sandbox Code Playgroud)

但是,这当然会返回一个错误.

EdC*_*ica 13

做就是了 frame[~frame['Media'].str.contains('Site')]

~否定了布尔条件

所以你的方法变成:

def rbs(): #removes blocked sites
    frame = fill_rate()
    return frame[~frame['Media'].str.contains('Site')]
Run Code Online (Sandbox Code Playgroud)

编辑

看起来你有NaN错误判断的值,所以你必须首先过滤这些值,这样你的方法就变成了:

def rbs(): #removes blocked sites
    frame = fill_rate()
    frame = frame[frame['Media'].notnull()]
    return frame[~frame['Media'].str.contains('Site')]
Run Code Online (Sandbox Code Playgroud)

notnull将筛选出的遗漏值