好久好久没写博客了。最近看到个很实用的pandas方法,记录下。
query()
DataFrame.
query
(expr, inplace=False, **kwargs),用于通过boolean表达式来查询dataframe中的列。
主要参数为expr,它是字符串表达式,有如下说明:
可以引用变量,方法是在变量前添加一个@字符,例如@a + b。
可以在反引号内将包含空格或运算符的列名引用起来。 这样,您还可以转义以数字开头或Python关键字的名称。 基本上是无效的Python标识符。
例如,如果有一列称为a a,而您想将其与b相加,则查询应为`a a` + b。
Examples
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
如果我要查询A列值大于B列值的结果,正常情况我们会做如下操作:
df[df.A > df.B] 或 df[df['A'] > df['B']]
A B C C
4 5 2 6
然而这不够优雅,