Python 筛选数据帧中的关键字/句子
目前我有一个数据帧。以下是我的数据帧示例: 我还有一个关键字/句子列表。我想将其与“内容”列匹配,并查看是否有任何关键字或句子匹配 这就是我所做的 在给我结果的同时,它也给我这个UserWarning:UserWarning:这个模式有匹配组。要实际获取组,请使用str.extract。 返回函数(self、*args、**kwargs) 问题:Python 筛选数据帧中的关键字/句子,python,pandas,matching,Python,Pandas,Matching,目前我有一个数据帧。以下是我的数据帧示例: 我还有一个关键字/句子列表。我想将其与“内容”列匹配,并查看是否有任何关键字或句子匹配 这就是我所做的 在给我结果的同时,它也给我这个UserWarning:UserWarning:这个模式有匹配组。要实际获取组,请使用str.extract。 返回函数(self、*args、**kwargs) 问题: 如何防止出现userwarning 查找并查看列中是否有匹配项后,如何在新列中打印特定匹配项 您正在提供用于搜索数据帧的。如果指令列表中有括号(
\
,以便(严重风险)
变成\(严重风险)
)。您可能还希望转义所有特殊字符,如\。“
等
现在,您可以使用这些组从数据中提取匹配项。以下是一个示例:
df=pd.DataFrame([“Hello World”、“Foo Bar Baz”、“再见”],columns=[“text”])
pattern=“(World | Bar)”
打印(df.str.extract(模式))
# 0
#0世界
#1巴
#2楠
您可以通过简单的赋值(例如
df[“result”]=df.str.extract(pattern))将此列添加到数据帧中。您可以共享1)熊猫的版本;2)指令列表吗?如果指令中有括号,这将解释“匹配组”“@qmeeus我已经更新了一些内置函数,允许转义所有特殊字符吗?当我尝试使用你在我处理的数据中提到的.str.extract(模式)时也是如此。我只收到南音。你知道是什么原因让它显示而不是匹配吗?是的,这意味着没有匹配。很可能你的正则表达式有点乱,因为你把完整的句子连在一起。考虑到您的用例,有什么方法可以简化它吗?否则,最好在指令列表上使用for循环
# instructions_list is just the list of keywords and key sentences
instructions_list = instructions['Key words & sentence search'].tolist()
pattern = '|'.join(instructions_list)
bureau_de_sante[bureau_de_sante['Content'].str.contains(pattern, regex = True)]