Python 使用查询函数检查列是否为空
我有一个dataframe,我想用isnull()或not isnull()条件对其执行查询函数,如下所示:Python 使用查询函数检查列是否为空,python,pandas,dataframe,null,Python,Pandas,Dataframe,Null,我有一个dataframe,我想用isnull()或not isnull()条件对其执行查询函数,如下所示: In [67]: df_data = pd.DataFrame({'a':[1,20,None,40,50]}) In [68]: df_data Out[68]: a 0 1.0 1 20.0 2 NaN 3 40.0 4 50.0 如果我使用此命令: df_data.
In [67]: df_data = pd.DataFrame({'a':[1,20,None,40,50]})
In [68]: df_data
Out[68]: a
0 1.0
1 20.0
2 NaN
3 40.0
4 50.0
如果我使用此命令:
df_data.query('a isnull', engine='python')
df_data.query('a isnull()', engine='python')
或此命令:
df_data.query('a isnull', engine='python')
df_data.query('a isnull()', engine='python')
我得到一个错误:
In [75]: df_data.query('a isnull', engine='python')
File "<unknown>", line 1 a isnull
SyntaxError: invalid syntax
In [76]: df_data.query('a isnull()', engine='python')
File "<unknown>", line 1 a isnull ()
SyntaxError: invalid syntax
[75]中的:df_data.query('a isnull',engine='python')
文件“”,第1行a为空
SyntaxError:无效语法
[76]中的df_data.query('a isnull()',engine='python')
文件“”,第1行为空()
SyntaxError:无效语法
正确的方法是什么
谢谢。使用
:
a = df_data.query('a.isnull()')
print (a)
a
2 NaN
b = df_data.query('a.notnull()')
print (b)
a
0 1.0
1 20.0
3 40.0
4 50.0
您还可以使用逻辑
NaN!=南
:
a = df_data.query('a != a')
print (a)
a
2 NaN
b = df_data.query('a == a')
print (b)
a
0 1.0
1 20.0
3 40.0
4 50.0
df_data.query('a.isnull()')
在没有engine='python'的情况下工作