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