我试图在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
但是,我想搜索Holiday or business关键字。使用OR运算符,我似乎无法使其工作。关于扩展代码的任何建议,以便我可以同时搜索假期或商务两个字?
然后,最终结果将需要如下所示(意味着返回在“类别”列中包含关键字“假日”或“业务”的行)
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)]
但是不幸的是,这没有产生预期的结果。
非常感谢您的见解!
答案 0 :(得分:2)
您使用|
来表示str.contains
中的“或”:
df[df['Category'].str.contains('holiday|business', case=False)]
有关更多信息,请参见docs。