python - Pandas :获取与查询关联的掩码

标签 python pandas

我喜欢 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/

相关文章:

python - 使用 Pandas 在多个工作表中查找最小值

python - BeautifulSoup - 按标签内的文本搜索

python - Pandas:根据多列获取最高的n行,并且它们彼此匹配

python - 从excel读取数据并忽略python中的空行

python - Pandas 映射到下周的星期一

Python:将多个 Excel 工作簿读入一个 DataFrame

python - 如何将一个数据框中的一列字符串值映射到另一个数据框中的另一列?

python - 延迟读取默认参数,直到调用函数为止

python - 按列对两个不同维度的 numpy 数组进行交集

python - Pandas - 如何在一行中合并 2 个相关事件