【发布时间】:2016-04-15 20:50:21
【问题描述】:
我有一个字符串列表,需要对数据框中的某个列进行搜索:
search_strings = ['foo bar', 'bar such foo', 'very wow foo']
我正在尝试检索数据框中与列表中每个字符串中任何顺序的单词匹配的行。数据框可能如下所示:
ID string_col
1 foo bar
2 bar foo
3 foo very bar
4 bar such foo
5 foo wow very
我很高兴发现我可以使用“|”带有 str.contains 的运算符(检索所有 5 行):
df[df['string_col'].str.contains('foo|bar')]
我以为我可以遍历我的列表,用“&”拆分并加入它们以执行类似的操作(我错误地认为这会检索 4 行):
df[df['string_col'].str.contains('foo&bar')]
然而,事实证明这不是你能做到的。知道如何根据字符串列表轻松检索匹配的列,每个字符串都有未知数量的单词吗?
谢谢!
【问题讨论】: