2017-09-03 32 views
1

我有,我想在这里执行与ISNULL查询功能()或不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.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 

什么是正确的方法来做到这一点?

谢谢。

回答

2

使用.

a = df_data.query('a.isnull()', engine='python') 
print (a) 
    a 
2 NaN 

b = df_data.query('a.notnull()', engine='python') 
print (b) 
     a 
0 1.0 
1 20.0 
3 40.0 
4 50.0 

您可以使用还逻辑NaN != 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 
+1

太棒了!非常感谢! – user2671057