我tf有一个叫做pandas的数据集,它有一个包含空格分隔关键字的列,标题为"关键字":
Name ... Keywords
0 Jonas 0 ... Archie Betty
1 Jonas 1 ... Archie
2 Jonas 2 ... Chris Betty Archie
3 Jonas 3 ... Betty Chris
4 Jonas 4 ... Daisy
5 Jonas 5 ... NaN
6 Jonas 5 ... Chris Archie
Run Code Online (Sandbox Code Playgroud)
作为输入,我想提供一组字符串来按这些关键字过滤行.我想过使用一个列表:
list = ["Chris", "Betty"]
Run Code Online (Sandbox Code Playgroud)
我发现我可以过滤行,如果我将列表作为一个字符串,其中的条目由"|"分隔:
t="|".join(list)
并在以下列中查找该列中的匹配项:
tf[tf["Keywords"].str.contains(t, na=False)]
这通过查找任何匹配内容进行过滤,因此输出为:
Name ... Keywords
0 Jonas 0 ... Archie Betty
2 Jonas 2 ... Chris Betty Archie
3 Jonas 3 ... Betty Chris
6 …Run Code Online (Sandbox Code Playgroud)