有人可以解释一下为什么这段简单的代码会返回吗False
?这可能很简单,但我不明白为什么它会这样:
import pandas as pd
eval_string = '"abc"=="abc"'
print(pd.eval(eval_string, parser='pandas')) # False
请注意,我尝试使用字符串的eq () 函数代替,它的行为符合我的预期。
可以在这里在线运行: https: //onecompiler.com/python/3zhsnud82
在此先感谢您的帮助。
pandas.eval
不支持标量比较。如果传递不支持的语法,Pandas 不会承诺您会得到什么。
pandas.eval('4==4')
(这包括不承诺给出错误的结果。碰巧给出的事实True
并不意味着它受到支持。)pandas.eval
是一种用于评估大型数据帧上特定类型表达式的专用工具。它不应该用于运行一般的 Python 代码。