在文本中查找精确匹配项

2024-06-06 20:14:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个评论数据集。我想在此文本中搜索精确的字符串

例如,此数据集的一部分:

这位牙医很棒
这位牙医很棒,但他的助手很差劲
完美的
我不喜欢我的牙医,他并不完美

当字符串“perfect”和“this dentist is great”出现在数据集中时,必须在新数据集中返回它们。但前提是它完全匹配。因此,数据集中只应返回第1行和第3行

我的脚本返回所有行:

df_return=df[df["columnA"].str.contains("perfect|this dentist is great")==True]
df_return

我做错了什么


Tags: 数据字符串文本dfreturnis助手评论
3条回答

也许您可以使用match来检查相同的问题

df_return = df[df['columnA'].str.match(pat='(perfect)|(this dentist is great)')]
df_return

请让我知道这是否有帮助

使用直接相等检查==而不是包含以下内容

if df["columnA"].str == 'perfect' or df["columnA"].str == 'this dentist is great':
    print(["columnA"].str)

if df["columnA"].str in {'perfect', 'this dentist is great'}:
    print(["columnA"].str)

您的正则表达式不正确,请将其替换为

df_return=df[df["columnA"].str.contains("^perfect$|^this dentist is great$")==True]

输出:

                 columnA
0  this dentist is great
2                perfect

相关问题 更多 >