属性错误:在 Python 中使用 eval 函数时'UnaryOp'对象没有属性'evaluate'


for test_ind, case_data in test_df.iterrows():
case_data = case_data.to_frame().T
rule = "Ask_before>-0.4843681 & 0.5255821<=BidVol_before<=0.07581073 & Volume>0.1107559"
print(case_data, "case_data")
if case_data.eval(rule).all() == True:
print("TRUE")

在这里,当规则包含负值时,将出现此错误。你能帮我修一下吗。我需要检查此规则是否适用于数据帧中的实例。Ask_fore、BidVol_before是数据帧test_df的列。你能帮我解决这个问题吗。

这不是代码中的问题,而是Panda中的错误https://github.com/pandas-dev/pandas/issues/16363它现在已经修复了。

截至2022年1月,它似乎仍然开放https://github.com/pandas-dev/pandas/issues/16363根据我的经验,在中解决了负值

更改;一元";到一个简单的表达式对我有效,例如-5->(0-5(

最新更新