【发布时间】:2020-08-21 22:11:30
【问题描述】:
所以对于这个问题。我有这个专栏:
Column of product names 我需要创建一个函数,它接受一个关键字并返回名称中包含该单词的所有产品。对于这个特定的问题,关键字是“小麦”。我的功能如下:
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")
这就是返回的内容:
['小麦奶油(快速)', “脆皮小麦和葡萄干”, '磨砂迷你小麦', '营养谷物小麦', '膨化小麦', '碎小麦', “碎麦麸”, '碎小麦勺子大小', '草莓水果小麦', '小麦检验', '小麦', 'Wheaties Honey Gold']
如您所见,最后 2 个以及倒数第 3 个不属于。我不确定如何构造函数来查找这些情况。
【问题讨论】:
-
为什么最后 3 个不属于?他们都有“小麦”。
-
您是否希望仅在“小麦”本身是一个词时进行匹配?另外我不知道上下文,但似乎最好将您的数据框作为参数传递给函数,以使您的函数更加通用。
-
在你的函数中提供“小麦”,如:find_word("小麦"),注意小麦后面的使用空间
-
@Samwise 他们确实有小麦,但我只需要这个词本身。不是单词中的术语
-
@ncica,我确实尝试过。问题是它会忽略正确的“-Wheat”选项。
标签: python pandas list iteration