搜索pandas数据框中包含字符串的列中的一组字符串[duplicate]

uz75evzq  于 2023-03-28  发布在  其他
关注(0)|答案(2)|浏览(90)

此问题在此处已有答案

How to test if a string contains one of the substrings in a list, in pandas?(4个答案)
3天前关闭。
我有一个有多列的df,其中一列是一个有很多单词的字符串(文本列)。
我也有一组单词S,我需要寻找。
我想提取df的行,这些行在其文本列中至少包含一个来自S的单词
df_filtered=df[df['text'].str.contains('word')]
这适用于集合S中的一个单词。除了在S上循环,还有更好的方法吗?

9lowa7mx

9lowa7mx1#

IIUC,您可以使用|在正则表达式中表示or

df_filtered = df[df['text'].str.contains('|'.join(S))]
xggvc2p6

xggvc2p62#

如果要匹配完整的单词,请用途:

import re

pattern = '|'.join(map(re.escape, S))

df_filtered = df[df['text'].str.contains(fr'\b(?:{pattern})\b')]

相关问题