Python 一条语句中的多个isin查询
我有一个数据帧df,头部看起来像: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 我感兴趣的是查看来自部门子集的员工子集,以及这些员工的薪酬子集 例如,如果我想
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')