pandas 使用查询功能检查列是否为空 [英] pandas check if column is null with query function

查看:134
本文介绍了 pandas 使用查询功能检查列是否为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有要在其上使用isull()或非isull()条件的查询函数执行的熊猫数据框,如下所示:

I have pandas dataframe that I want to execute on it query function with isnull() or not isnull() condition like that:

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

正确的方法是什么?

谢谢.

推荐答案

使用.:

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

这篇关于 pandas 使用查询功能检查列是否为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆