python pandas实现sql的where功能(二)

sql中的where语句的功能非常丰富,常用关键包括 isnull,like,and,or等关键字,下面我们就来看看,如果是在pandas中该如何实现。

>>> import pandas as pd
>>> import numpy as np
df = pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df
  id   name  score grade
0  a    bog   45.0     A
1  c  jiken   67.0     B
2  d    bob   23.0     A
3  b  jiken   34.0     B
4  f   lucy    NaN     A
5  e   tidy   75.0     B

1、isna
对应sql中的is null

>>> df[df['score'].isna()]
  id  name  score grade
4  f  lucy    NaN     A

2、~表示取相反值

# 获取非na值,对应sql中的is not null
>>> df[~df['score'].isna()]
  id   name  score grade
0  a    bog   45.0     A
1  c  jiken   67.0     B
2  d    bob   23.0     A
3  b  jiken   34.0     B
5  e   tidy   75.0     B

3、&
&表示且关系,对应sql中的and

# score为NaN且'grade'为A的结果
>>> df[(df['score'].isna()) & (df['grade'] == 'A')]
  id  name  score grade
4  f  lucy    NaN     A

4、|
|表示或的关系,对应sql中的or

>>> df[(df['score'].isna()) | (df['grade'] == 'A')]
  id  name  score grade
0  a   bog   45.0     A
2  d   bob   23.0     A
4  f  lucy    NaN     A

哈哈,以上就是python小工具关于python pandas实现sql的where功能的第二部分的介绍,有兴趣欢迎关注公众号:python小工具。一起学习python和pandas
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值