Python 一条语句中的多个isin查询

Python 一条语句中的多个isin查询,python,pandas,Python,Pandas,我有一个数据帧df,头部看起来像: id dept paid 97 accounts monthly 73 shop weekly 20 marketing yearly 70 analysis monthly 55 advisory monthly 42 marketing monthly 76 marketing weekly 我感兴趣的是查看来自部门子集的员工子集,以及这些员工的薪酬子集 例如,如果我想

我有一个数据帧df,头部看起来像:

id      dept       paid
97   accounts   monthly
73       shop    weekly
20  marketing    yearly
70   analysis   monthly
55   advisory   monthly
42  marketing   monthly
76  marketing    weekly
我感兴趣的是查看来自部门子集的员工子集,以及这些员工的薪酬子集

例如,如果我想返回数据框架的一个子集,即营销和咨询,而这些数据框架中只有按月和每周支付的数据

我将返回以下完整记录:

id       dept      paid
55   advisory   monthly
42  marketing   monthly
76  marketing    weekly
我尝试使用两个名为deptQuery和paidQuery的列表,如下所示:

deptQuery = ['marketing','advisory']

paidQuery = ['monthly','weekly']
并适用于:

queryResult = df[df['dept'].isin(deptQuery) and DeptTemplate['paid'].isin(paidQuery)] 
我也试过了

queryResult = df[df['dept'].isin(deptQuery)] and df[df['paid'].isin(paidQuery)]
但我不能让它工作。我还可以尝试什么呢?

使用&进行按位AND并删除df[:

另一个解决方案包括:

将&用于按位AND并删除df[:

另一个解决方案包括:

queryResult = df[df['dept'].isin(deptQuery) & df['paid'].isin(paidQuery)]

print (queryResult)
   id       dept     paid
4  55   advisory  monthly
5  42  marketing  monthly
6  76  marketing   weekly
queryResult = df.query('dept in @deptQuery & paid in @paidQuery')