赞
踩
简单来说是用来进行数据筛选的函数。
df.query(" A == 'a' ")
也可以写成以下形式:
df[df['A']=="a"]
df.query(" A == 6")
除了直接通过等于某个值来筛选, query 函数还支持通过数学表达式来进行数据筛选,包括 >、 <、 +、 -、 *、 / 等。
- df.query('A>B')
- df.query('A*2<B+D')
在程序比较长的时候,经常会使用变量来作为筛选条件, query 函数在使用变量作为判断标准时,通过在变量前面添加 @ 符号来实现,示例如下
- # 通过变量来筛选数据,在变量前使用 @ 符号即可
-
- name = 'a'
-
- df.query('A == @name')
- # 需要注意下 双引号 和 单引号的分开使用
-
- df.query('A in ["a","b"]')
注意单双引号分开使用。
query 函数支持多种条件的组合。
df.query('A in ["a","b"] & B > 7')
当 dataframe 的列名称中有空格或其他特殊符号的时候,需要使用 反引号,即键盘ESC键下面的按键(就是键盘上第二排第一个按键,有‘~’这个符号的按键) 来将列名包裹起来,示例如下:
df.query("`till years` < 5")
注意,如果使用单引号,将会报错。
在数据筛选后,还可以选择需要的数据列,如下:
df.query("A > B +C ")[['A','B']]
注意是两个方括号。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。