Pandas(杂):List/pandas文本包含筛选
处理文本或字符串数据常需要对内容进行关键词筛选,如选出表格df中包含某几个关键词的行,选出某个列表texts中所有包含某些关键词的句子keywords,或选择属于某个list的行……
字符串
子串包含行筛选
单个字符串的筛选则可以通过if (substring in text)
进行判断
pandas可通过df['text'].str.contains("keyword1|keyword2...")
代码举例:
1 | # 表格行筛选 |
如果是且,则改成&
;all()
列表包含
列表推导
1 | newlist = [text for text in texts if any(w in text for w in keywords)] |
如果是列元素是否包含于list的筛选:
df2 = df1.loc[df1['ID'].isin(keywords)]
- 取反则加
~
,如用户筛选:
1 | vipusers = [...] |