熊猫检查列是否为带有查询功能的列



我有pandas dataframe我想在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

正确的方法是什么?

谢谢。

使用 .

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

相关内容

  • 没有找到相关文章

最新更新