使用isin
并传递您要搜索的字词列表,然后可以使用取反布尔掩码~
,这将过滤掉这些行:
In [6]:
to_drop = ['Clerk', 'Bagger']
df[~df['title'].isin(to_drop)]
Out[6]:
fName lName email title
0 John Smith jsmith@gmail.com CEO
另一种方法是加入术语,使其成为正则表达式并使用向量化str.contains
:
In [8]:
df[~df['title'].str.contains('|'.join(to_drop))]
Out[8]:
fName lName email title
0 John Smith jsmith@gmail.com CEO
IMO将作为后处理步骤执行过滤将更加容易,并且可能会更快,因为如果您决定在读取时进行过滤,那么您将迭代增长效率不高的数据帧。
另外,您也可以分块读取csv,过滤掉不需要的行,并将块附加到输出csv