我喜欢 Pandas 中的 query
方法。与常规选择方法相比,它速度快、表达力强且冗长。
给定一个查询,是否有可能获得与 query
返回的值相对应的 True
/False
掩码?
例如,假设我有:
my_query = 'values >= {0} and values <= {1}'.format(Q1, Q2)
inliers = df.query(my_query)
inliers
将保存满足查询的数据,但我是否也可以获得该查询的掩码?
获取掩码可能很有用,例如,快速否定查询,或获得与原始数据帧大小相同的结果。
最佳答案
使用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
关于python - Pandas :获取与查询关联的掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658347/