通常,您可以使用
@local_variable_name,所以类似
>>> pi = np.pi; nan = np.nan>>> df = pd.Dataframe({"value": [3,4,9,10,11,np.nan,12]})>>> df.query("(value < 10) and (value > @pi)") value1 42 9
会起作用,但
nan不等于它本身,所以
value == NaN总是错误的。解决这个问题的一种方法是使用该事实,并
value !=value用作
isnan检查。我们有
>>> df.query("(value < 10) or (value == @nan)") value0 31 42 9
但
>>> df.query("(value < 10) or (value != value)") value0 31 42 95 NaN
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)