2017-09-03 1 views
1

Je Pandas dataframe que je veux exécuter sur elle la fonction de requête avec isnull() ou non isNull() état comme ça:pandas géants vérifier si la colonne est nulle avec la fonction de requête

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 

si j'utilise cette commande :

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

ou cette commande:

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

Je reçois une erreur:

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 

Quelle est la bonne façon de faire cela?

Merci.

Répondre

2

Utilisation .:

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 

Vous pouvez également utiliser la logique 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

grand! Merci beaucoup! – user2671057