pandas.eval(expr, parser='pandas', engine=None, truediv=True, local_dict=None, global_dict=None, resolvers=(), level=0, target=None, inplace=False)
[source]
Evaluate a Python expression as a string using various backends.
The following arithmetic operations are supported: +
, -
, *
, /
, **
, %
, //
(python engine only) along with the following boolean operations: |
(or), &
(and), and ~
(not). Additionally, the 'pandas'
parser allows the use of and
, or
, and not
with the same semantics as the corresponding bitwise operators. Series
and DataFrame
objects are supported and behave as they would with plain ol’ Python evaluation.
Parameters: |
expr : str or unicode The expression to evaluate. This string cannot contain any Python statements, only Python expressions. parser : string, default ‘pandas’, {‘pandas’, ‘python’} The parser to use to construct the syntax tree from the expression. The default of engine : string or None, default ‘numexpr’, {‘python’, ‘numexpr’} The engine used to evaluate the expression. Supported engines are
More backends may be available in the future. truediv : bool, optional Whether to use true division, like in Python >= 3 local_dict : dict or None, optional A dictionary of local variables, taken from locals() by default. global_dict : dict or None, optional A dictionary of global variables, taken from globals() by default. resolvers : list of dict-like or None, optional A list of objects implementing the level : int, optional The number of prior stack frames to traverse and add to the current scope. Most users will not need to change this parameter. target : object, optional, default None This is the target object for assignment. It is used when there is variable assignment in the expression. If so, then inplace : bool, default False If |
---|---|
Returns: |
ndarray, numeric scalar, DataFrame, Series |
Raises: |
ValueError There are many instances where such an error can be raised:
|
See also
The dtype
of any objects involved in an arithmetic %
operation are recursively cast to float64
.
See the enhancing performance documentation for more details.
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
http://pandas.pydata.org/pandas-docs/version/0.22.0/generated/pandas.eval.html