首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历名称列表以查找特定关键字

遍历名称列表以查找特定关键字
EN

Stack Overflow用户
提问于 2020-05-07 03:33:57
回答 2查看 25关注 0票数 0

所以对于这个问题。我有这个专栏:

Column of product names我需要创建一个函数,它接受一个关键字,并返回名称中包含该关键字的所有产品。对于这个特殊的问题,关键词是“小麦”。我的函数如下:

代码语言:javascript
复制
def find_word(keyword):
    word = []
    for i in range(len(df)):
        if keyword in df['name'][i]:
            word.append(df['name'][i])
    return word
find_word("Wheat")

下面是返回的内容:

“奶油小麦(快速)”,“脆小麦和葡萄干”,“霜迷你小麦”,“营养小麦”,“膨化小麦”,“碎麦皮”,“碎小麦匙大小”,“草莓水果面团”,“小麦干酪”,“麦片”,“麦片蜂蜜黄金”

正如你所看到的,最后2个以及倒数第3个不属于。我不确定如何构造函数来查找这些情况。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-07 04:18:40

我认为你正在寻找的东西可以通过下面的re模块来实现:

代码语言:javascript
复制
import re

def find_word(keyword):
    word = []

    # create a regular expression pattern that would "exactly" match the keyword
    # \b represents Word boundary
    p = re.compile(r'\b{}\b'.format(keyword))

    for i in range(len(df)):
        # use the pattern to search the name
        if p.search(df['name'][i]):
            word.append(df['name'][i])
    return word

find_word("Wheat")
代码语言:javascript
复制
['Cream of Wheat (Quick)', 'Crispy Wheat & Raisins', 'Frosted Mini-Wheat', 
 'Nutri-grain Wheat', 'Puffed Wheat', 'Shredded Wheat', 
 "Shredded Wheat'n'Bran", 'Shredded Wheat spoon size', 'Wheat Chex']
票数 0
EN

Stack Overflow用户

发布于 2020-05-07 04:29:25

尝尝这个。

代码语言:javascript
复制
df[df["name"].str.contains(r'(?:\s|^)Wheat(?:\s|$)')]["name"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61643820

复制
相关文章

相似问题

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