我的数据框有2列和几千行。我现在需要的是删除,删除,包含' css' jpg',' png',' favicon'等的行。列值。 它看起来像这样:
Referer Count
favicon.ico 24
ponto.css 21
mobil/net 16
private/net 14
ort.jpg 11
所需的输出是:
Referer Count
mobil/net 16
private/net 14
我已尝试过这个:
df[df['Referer'].str.contains('css', 'jpg', 'png', 'favicon.ico')]
但这就是我得到的:
unsupported operand type(s) for &: 'str' and 'int'
答案 0 :(得分:4)
需要|
正则表达式中的or
,然后按~
反转布尔值掩码。
因此需要css
或jpg
...
df = df[~df['Referer'].str.contains('css|jpg|png|favicon.ico')]
print (df)
Referer Count
2 mobil/net 16
3 private/net 14
如果值在列表中,可以使用join
和|
- 输出相同。
L = ['css','jpg','png','favicon.ico']
df = df[~df['Referer'].str.contains('|'.join(L))]
print (df)
Referer Count
2 mobil/net 16
3 private/net 14