我想过滤数据框以查找不包含字符串' site'的行。
我知道如何过滤包含' site'但一直无法逆转工作。以下是我到目前为止的情况:
def rbs(): #removes blocked sites
frame = fill_rate()
mask = frame[frame['Media'].str.contains('Site')==True]
frame = (frame != mask)
return frame
但是这当然会返回一个错误。
答案 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
将过滤掉缺失值