【问题标题】:How can I use the OR operator for the str.contains funtion when searching for multiple strings in a column or in multiple columns in Python?在 Python 的一列或多列中搜索多个字符串时,如何将 OR 运算符用于 str.contains 函数?
【发布时间】:2019-12-18 11:16:12
【问题描述】:

我正在尝试使用 Python 中的 str.contains 函数在列中搜索“关键字”。

我已经成功地在一列中找到了一个关键词。

但是,我需要的是以下内容: - 在一列中搜索多个关键字

我正在使用以下示例数据集:

Employee    Employee ID     Category    Comments
Jack        11234           Holiday     Holiday trip
Ben         1921            Business    Business trip
John        233535          Other       Other trip
Pete        892230          Other       Other trip

通过使用以下代码:

df[df['Category'].str.contains("holiday", case=False)]

我已成功获得以下结果:

Employee    Employee ID         Category        Comments
Jack            11234           Holiday         Holiday trip

但是,我想搜索关键字假期或业务。使用 OR 运算符我似乎无法使其工作。关于扩展代码的任何建议,以便我可以搜索假期或业务这两个词?

然后最终结果需要如下所示(意味着返回在 Category 列中具有关键字 Holiday OR Business 的行):

Employee    Employee ID     Category    Comments
Jack        11234           Holiday     Holiday trip
Ben         1921            Business    Business trip

下一部分是我想在多个列中搜索关键字。我尝试了以下代码:

df[df['Category'].str.contains("holiday", case=False)] | 
df[df['Comments'].str.contains("holiday", case=False)]

但不幸的是,这并没有产生预期的结果。

非常感谢您的见解!

【问题讨论】:

    标签: python-3.x string multiple-columns contains


    【解决方案1】:

    你用|代表str.contains中的“或”:

    df[df['Category'].str.contains('holiday|business', case=False)]
    

    有关详细信息,请参阅docs

    【讨论】:

    • 非常感谢!!我注意到我在尝试使用“假期”|“业务”时出错了。这有帮助并且有效。您是否知道如何在“类别”和“评论”两列中搜索这些关键字?
    • 谢谢 AAA,我接受了!你会不会碰巧知道如何在“类别”和“评论”这两个列中搜索这些关键字?
    • @Ipadshak,你的意思是搜索这些词中的任何一个是否在 either 列中?
    • 是的,正确。基本上,代码应该搜索每一列,然后如果任何列包含单词“holiday”或“business”,则返回该行。
    • @Ipadshak,使用df[df['Category'].str.contains('holiday|business', case=False) | df['Comments'].str.contains('holiday|business', case=False)]。当然,您可以将结果存储在一个变量中,这样就不会那么长了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    相关资源
    最近更新 更多