假设数据集,
Name Value
0 K Ieatapple
1 Y bananaisdelicious
2 B orangelikesomething
3 Q bluegrape
4 C appleislike我有关键字列表
[apple, banana]在此数据集中,匹配列'Value‘-关键字列表
*我的意思是匹配是“值”中的关键字。
我想看看列表匹配列中的关键字,所以..。我想知道匹配率是多少。
最终,我想知道的是“找到关键字和列之间的匹配率”,如果可以的话,过滤数据
谢谢。
编辑
在我真实的数据集中,句子中有关键词,
前任,
Ilikeapplethanbananaandorange因此,如果使用关键字-关键字匹配(1:1),则不起作用。
发布于 2020-02-03 01:38:23
使用str.contains将单词与您的句子匹配:
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'因此,在正则表达式中,我们现在有一个语句:
匹配行,其中句子包含“苹果”或“香蕉”
https://stackoverflow.com/questions/60032032
复制相似问题