加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pandas.dataframe.query() – 获取非空行(Pandas等效

发布时间:2020-12-16 22:59:58 所属栏目:Python 来源:网络整理
导读:我使用以下代码从pandas dataframe获取带有一些值的行.我需要将此代码转换为pandas.query(). results= rs_gp[rs_gp['Col1'].notnull()] 当我转换为:results = rs_gp.query(‘Col1!= None’) 它给出了错误’None is not defined’.有人可以帮忙吗 谢谢, Rtu
我使用以下代码从pandas dataframe获取带有一些值的行.我需要将此代码转换为pandas.query().
results= rs_gp[rs_gp['Col1'].notnull()]

当我转换为:results = rs_gp.query(‘Col1!= None’)

它给出了错误’None is not defined’.有人可以帮忙吗

谢谢,
Rtut

解决方法

我们可以使用NaN!= NaN的事实:
In [1]: np.nan == np.nan
Out[1]: False

因此,将列与自身进行比较将仅返回非NaN值:

rs_gp.query('Col1 == Col1')

演示:

In [42]: df = pd.DataFrame({'Col1':['aaa',np.nan,'bbb',None,'','ccc']})

In [43]: df
Out[43]:
   Col1
0   aaa
1   NaN
2   bbb
3  None
4
5   ccc

In [44]: df.query('Col1 == Col1')
Out[44]:
  Col1
0  aaa
2  bbb
4
5  ccc

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读