假设我们在Pandas中有一个数据框df,有什么方法可以定义query表达式,这样我仍然可以获得完整的数据框?
如果有帮助,我习惯以类似ro的方式使用:
if cond:
condition = 'some expression'
else:
condition = '<return everything>'
df.query(condition)
我试过了:
> df.query(‘True’)
> df.query(True)
没有运气.
同样,df.query(1)似乎只检索一条记录.
解决方法:
这有点奇怪,但是我想您可以做index == index或index!= index:
>>> df = pd.DataFrame({"A": [1,2,np.nan]}, index=[10,20,np.nan])
>>> df
A
10 1
20 2
NaN NaN
>>> df.query("index == index or index != index")
A
10 1
20 2
NaN NaN
索引!=索引分支处理NaN的情况.