首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python关键字匹配(关键字列表-列)

python关键字匹配(关键字列表-列)
EN

Stack Overflow用户
提问于 2020-02-03 01:01:52
回答 1查看 746关注 0票数 0

假设数据集,

代码语言:javascript
复制
    Name    Value
0   K   Ieatapple
1   Y   bananaisdelicious
2   B   orangelikesomething 
3   Q   bluegrape
4   C   appleislike

我有关键字列表

代码语言:javascript
复制
[apple, banana]

在此数据集中,匹配列'Value‘-关键字列表

*我的意思是匹配是“值”中的关键字。

我想看看列表匹配列中的关键字,所以..。我想知道匹配率是多少。

最终,我想知道的是“找到关键字和列之间的匹配率”,如果可以的话,过滤数据

谢谢。

编辑

在我真实的数据集中,句子中有关键词,

前任,

代码语言:javascript
复制
Ilikeapplethanbananaandorange

因此,如果使用关键字-关键字匹配(1:1),则不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-03 01:38:23

使用str.contains将单词与您的句子匹配:

代码语言:javascript
复制
keywords = ['apple', 'banana']
df['Value'].str.contains("|".join(keywords)).sum() / len(df)

# 0.6

或者如果您想保留行:

代码语言:javascript
复制
df[df['Value'].str.contains("|".join(keywords))]

  Name                Value
0    K          I eat apple
1    Y  banana is delicious
4    C          appleislike

详细信息

管道|是正则表达式中的or操作符:

因此,我们用一个管道加入我们的单词列表,以匹配其中的一个单词:

代码语言:javascript
复制
>>> keywords = ['apple', 'banana']
>>> "|".join(keywords)
'apple|banana'

因此,在正则表达式中,我们现在有一个语句:

匹配行,其中句子包含“苹果”或“香蕉”

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60032032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档