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

时间:2015-06-11 20:53:52

标签: 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

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

1 个答案:

答案 0 :(得分:11)

只需frame[~frame['Media'].str.contains('Site')]

~否定布尔条件

所以你的方法变成了:

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

修改

看起来您的NaN值会因您的错误而判断,因此您必须先将这些值过滤掉,以便您的方法成为:

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

notnull将过滤掉缺失值