如何使显示带有特定关键字的行的列?

时间:2019-09-06 19:53:02

标签: python

需要创建一个名为keyword的新列,其中从review_mo列中出现某些关键字。我有兴趣提取的关键字是“爱”,“大”,“小”,“比基尼”和“快乐”。

keywords= "love","big","small", "bikini","happy"

我输入的代码适用于我要尝试执行的操作,但是对于我的下一个项目,将有500个关键字,并且这将不再是一种实用的方法。想知道是否有人可以帮助将某种字符串列表传递给将解决此问题的函数

如何制作一列显示带有特定关键字的行。

def is_keyword(value):
    strings = value.split()
    if str('love') in str(strings):
        return 1
    if str('big') in str(strings):
        return 1
    if str('small') in str(strings):
        return 1
    if str('bikini') in str(strings):
        return 1
    if str('happy') in str(strings):
        return 1
    else:
        return 0

shopbop['keyword'] = shopbop['review_mo'].apply(is_keyword)

我想做的是将所有“ if”行替换为一行而不是5行,然后以某种方式输入“关键字”字符串列表

1 个答案:

答案 0 :(得分:0)

您可以使用any在第一场比赛中返回True,如果没有比赛,则返回False

if any(word in strings for word in keywords):
    return 1
else:
    return 0

keywords应该是列表对象

keywords= ["love","big","small", "bikini","happy"]