python pandas库(自用,持续更新)

目前已更新:query()

query函数

简单来说是用来进行数据筛选的函数。

1.选取A列等于a的行:

df.query(" A == 'a' ")

也可以写成以下形式:
 

df[df['A']=="a"]

2.也可以用来筛选数值:

df.query(" A == 6")

3.也可以用数学表达式筛选:

        除了直接通过等于某个值来筛选, query 函数还支持通过数学表达式来进行数据筛选,包括 >、 <、 +、 -、 *、 / 等。

4.可以直接比较两列: 

df.query('A>B')
df.query('A*2<B+D')

5.可以通过变量进行筛选:

        在程序比较长的时候,经常会使用变量来作为筛选条件, query 函数在使用变量作为判断标准时,通过在变量前面添加 @ 符号来实现,示例如下

# 通过变量来筛选数据,在变量前使用 @ 符号即可
 
name = 'a'
 
df.query('A == @name')

6.可以同时筛选多个值(使用列表的形式):

# 需要注意下 双引号 和 单引号的分开使用
 
df.query('A in ["a","b"]')

注意单双引号分开使用。

7.多条件筛选:

query 函数支持多种条件的组合。

  • 两者都需要满足的并列条件使用符号 &,或 单词 and
  • 只需要满足其中之一的条件使用符号 |,或 单词 or
df.query('A in ["a","b"] & B > 7')

8.列名称有空格的情况:

        当 dataframe 的列名称中有空格或其他特殊符号的时候,需要使用 反引号,即键盘ESC键下面的按键(就是键盘上第二排第一个按键,有‘~’这个符号的按键) 来将列名包裹起来,示例如下:

df.query("`till years` < 5")

注意,如果使用单引号,将会报错。

9.筛选后选取数据列:

在数据筛选后,还可以选择需要的数据列,如下:

df.query("A > B +C ")[['A','B']]

注意是两个方括号。​​​​​​​

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值