DataFrame.query - 数据帧查询
DataFrame的query()方法使用布尔表达式查询数据帧的列。
方法原型
DataFrame.query(self, expr, inplace=False, **kwargs)
参数:
- expr:查询表达式
- inplace:布尔值,是否就地修改数据,默认值:False
- kwargs:额外的关键字参数
返回值:
返回过滤后的数据帧
示例代码
下面的代码创建一个数据帧,然后使用query()方法删选 A列值大于B列值的行:
>>> df = pd.DataFrame({'A': range(1, 6),
... 'B': range(10, 0, -2),
... 'C C': range(10, 5, -1)})
>>> df
A B C C
0 1 10 10
1 2 8 9
2 3 6 8
3 4 4 7
4 5 2 6
>>> df.query('A > B')
A B C C
4 5 2 6
上面的表达式等价于:
>>> df[df.A > df.B]
A B C C
4 5 2 6
如果列名中包含空格,可以使用反引号:
>>> df.query('B == `C C`')
A B C C
0 1 10 10
上面的表达式等价于:
>>> df[df.B == df['C C']]
A B C C
0 1 10 10