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'
解析器允许使用and
,or
和not
相应的按位运算符。Series
和DataFrame
对象的支持和行为就像使用纯粹的Python评估一样。参数: expr:str或unicode
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,可选
level:int,可选
要遍历并添加到当前范围的先前堆栈帧的数量。大多数用户不需要更改此参数。
target:要分配的目标对象,可选,默认值为None
基本上这是一个通过解析器
inplace:bool,default True
如果表达式突变,无论是在现场修改对象还是返回带有突变的拷贝。
警告:inplace = None目前会恢复为True,但在未来的版本中,将默认为False。明确使用inplace = True,而不是依赖于默认值。
返回: ndarray,数字标量,DataFrame,系列
笔记
算术
%
操作中涉及的任何对象的dtype
被递归地转换为float64
。有关详细信息,请参阅enhancing performance文档。