在Pandas上查询多个过滤器

时间:2016-02-29 21:37:29

标签: python-3.x pandas

我想执行此查询。查询是“使用'天然气/柴油 - 生产'交易过滤数据,年份大于2000”。首先,我尝试用&执行我的查询不使用if语句的操作数和向量化列选择。但它没有用。之后,我在下面找到了这个查询。这次我无法得到任何输出。你怎么看待我的查询问题?谢谢......

if all(b['Commodity - Transaction'] == 'Gas Oil/ Diesel Oil - Production') and all(b[ b['Year'] >2000 ]):
   print (b)
else:
    print('did not find any values')

2 个答案:

答案 0 :(得分:1)

错误:

b.loc[(b['Commodity - Transaction'] == 'Gas Oil/ Diesel Oil - Production') & (b['Year'] >2000)]

答案 1 :(得分:0)

您可以先尝试使用contains和创建子集创建模板 - 使用Boolean indexing

print b[(b['Commodity - Transaction'].str.contains('Gas Oil/ Diesel Oil - Production'))  &  
        (b['Year'] > 2000) ]