首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配关键词到段落数据

匹配关键词到段落数据
EN

Stack Overflow用户
提问于 2022-10-13 15:20:55
回答 2查看 22关注 0票数 0

我有一个df列,其中包含一个段落文本,我已经创建了一个关键字列表。我希望将关键字与列文本进行比较,然后返回匹配的单词。我举一个例子如下:

代码语言:javascript
复制
keywords = ['yellow', 'orange', 'purple', 'pink']

df = 'colours' : ['my favourite colour is purple but sometimes pink', 'I have a yellow dinosaur', 'all flowers are red']

我运行了这个代码:

代码语言:javascript
复制
df['match_colours'] = df.apply(lambda x: True if any(word in x.colours for word in keywords) else False, axis =1)

返回一个列,如果有匹配,返回True,如果没有匹配,返回False。我只需要一个额外的列,它将指定哪些单词匹配

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-10-13 15:35:13

您可以使用列表理解添加列。

代码语言:javascript
复制
df['colour_res'] = [[i for i in keywords if i in row] for row in df.colours]

                                            colours  ...      colour_res
0  my favourite colour is purple but sometimes pink  ...  [purple, pink]
1                          I have a yellow dinosaur  ...        [yellow]
2                               all flowers are red  ...              []

[3 rows x 3 columns]
票数 0
EN

Stack Overflow用户

发布于 2022-10-13 15:51:18

代码语言:javascript
复制
def custom_func(x):
  for i in keywords:
    if i in x:
      return i
  return None
df.col1 = df.colours.apply(custom_func)

希望这行得通

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

https://stackoverflow.com/questions/74058219

复制
相关文章

相似问题

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