pandas.eval

pandas.eval(expr, parser='pandas', engine=None, truediv=True, local_dict=None, global_dict=None, resolvers=(), level=0, target=None, inplace=None)[source]

使用各种后端将Python表达式评估为字符串。

The following arithmetic operations are supported: +, -, *, /, **, %, // (python engine only) along with the following boolean operations: | (or), & (and), and ~ (not). 此外,'pandas'解析器允许使用andornot相应的按位运算符。SeriesDataFrame对象的支持和行为就像使用纯粹的Python评估一样。

参数:

expr:str或unicode

要评估的表达式。此字符串不能包含任何Python 语句,只能包含Python 表达式

parser:string,default'pandas',{'pandas','python'}

用于从表达式构造语法树的解析器。默认值'pandas'解析与标准Python略有不同的代码。或者,您可以使用'python'解析器来解析表达式,以保留严格的Python语义。有关详细信息,请参阅enhancing performance文档。

引擎:string或None,默认为'numexpr',{'python','numexpr'}

用于评估表达式的引擎。支持的引擎

  • 无:尝试使用numexpr,回到python

  • 'numexpr':此默认引擎使用评估pandas对象

    numexpr用于大型复杂表达式中的大型加速。

  • 'python':执行操作,就像您在顶部有eval

    级别python。这个引擎通常不是那么有用。

将来可能会有更多后端。

truediv:bool,可选

是否使用真正的划分,如Python> = 3

local_dict:dict或None,可选

默认情况下,取自localals()的局部变量字典。

global_dict:dict或None,可选

默认情况下,从全局变量取得的字典()。

解析器:dict类似列表或None,可选

实现__getitem__特殊方法的对象列表,可用于注入额外的命名空间集合以用于变量查找。For example, this is used in the query() method to inject the index and columns variables that refer to their respective DataFrame instance attributes.

level:int,可选

要遍历并添加到当前范围的先前堆栈帧的数量。大多数用户不需要更改此参数

target:要分配的目标对象,可选,默认值为None

基本上这是一个通过解析器

inplace:bool,default True

如果表达式突变,无论是在现场修改对象还是返回带有突变的拷贝。

警告:inplace = None目前会恢复为True,但在未来的版本中,将默认为False。明确使用inplace = True,而不是依赖于默认值。

返回:

ndarray,数字标量,DataFrame,系列

笔记

算术%操作中涉及的任何对象的dtype被递归地转换为float64

有关详细信息,请参阅enhancing performance文档。

Scroll To Top