熊猫:获取与查询相关的掩码

时间:2014-05-14 15:00:14

标签: python pandas

我喜欢Pandas中的query方法。与常规选择方法相比,它速度快,表达能力强,而且冗长。

根据查询,是否可以获得与True返回的值对应的False / query掩码?

例如,说我有:

my_query = 'values >= {0} and values <= {1}'.format(Q1, Q2)
inliers  = df.query(my_query)

inliers将保存满足查询的数据,但是我是否也可以获取此查询的掩码?

获取掩码非常有用,例如,可以快速否定查询,或者获得与原始数据帧大小相同的结果。

1 个答案:

答案 0 :(得分:5)

使用df.eval()df.query()基本上是df[df.eval()]

In [32]: df = DataFrame(dict(A = range(5)))

In [33]: df
Out[33]: 
   A
0  0
1  1
2  2
3  3
4  4

In [34]: df.query('A>3')
Out[34]: 
   A
4  4

In [36]: df.eval('A>3')
Out[36]: 
0    False
1    False
2    False
3    False
4     True
dtype: bool