我使用以下代码从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