2017-09-03 88 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