所需的数据集,
Name Value
0 K Ieatapple
1 Y bananaisdelicious
2 B orangelikesomething
3 Q bluegrape
4 C appleislike
而且我有类似的关键字列表
[apple, banana]
在此数据集中,匹配列'值'-[关键字列表]
*我的意思是匹配是'值'中的列表中的关键字
我想看看列表中的关键字如何匹配列,所以..我想找出匹配率是多少。
最终,我想知道的是“查找关键字和列之间的匹配率”百分比,如果可以的话,过滤数据框
谢谢。
编辑
在我的真实数据集中,句子中有关键字,
Ex,
Ilikeapplethanbananaandorange
因此,如果使用关键字-关键字匹配(1:1),则无效。
keywords = ['apple', 'banana']
df['Value'].str.contains("|".join(keywords)).sum() / len(df)
# 0.6
或者如果您想保留行:
df[df['Value'].str.contains("|".join(keywords))]
Name Value
0 K I eat apple
1 Y banana is delicious
4 C appleislike
更多详细信息管道
因此,我们使用管道将单词列表与这些单词之一匹配:|
是正则表达式中的or
运算符:
>>> keywords = ['apple', 'banana'] >>> "|".join(keywords) 'apple|banana'
因此在正则表达式中,我们现在有语句:
匹配句子中包含“苹果”或“香蕉”的行]]