Skip to content

Commit ae8b7ab

Browse files
committed
ENH: Allow evaluate to pass kwargs to numexpr
1 parent 273946a commit ae8b7ab

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

pandas/core/expressions.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def set_numexpr_threads(n = None):
5151
pass
5252

5353

54-
def _evaluate_standard(op, op_str, a, b, raise_on_error=True):
54+
def _evaluate_standard(op, op_str, a, b, raise_on_error=True, **eval_kwargs):
5555
""" standard evaluation """
5656
return op(a,b)
5757

@@ -79,7 +79,7 @@ def _can_use_numexpr(op, op_str, a, b, dtype_check):
7979

8080
return False
8181

82-
def _evaluate_numexpr(op, op_str, a, b, raise_on_error = False):
82+
def _evaluate_numexpr(op, op_str, a, b, raise_on_error = False, **eval_kwargs):
8383
result = None
8484

8585
if _can_use_numexpr(op, op_str, a, b, 'evaluate'):
@@ -92,7 +92,7 @@ def _evaluate_numexpr(op, op_str, a, b, raise_on_error = False):
9292
result = ne.evaluate('a_value %s b_value' % op_str,
9393
local_dict={ 'a_value' : a_value,
9494
'b_value' : b_value },
95-
casting='safe')
95+
casting='safe', **eval_kwargs)
9696
except (ValueError), detail:
9797
if 'unknown type object' in str(detail):
9898
pass
@@ -142,7 +142,7 @@ def _where_numexpr(cond, a, b, raise_on_error = False):
142142
# turn myself on
143143
set_use_numexpr(True)
144144

145-
def evaluate(op, op_str, a, b, raise_on_error=False, use_numexpr=True):
145+
def evaluate(op, op_str, a, b, raise_on_error=False, use_numexpr=True, **eval_kwargs):
146146
""" evaluate and return the expression of the op on a and b
147147
148148
Parameters
@@ -158,7 +158,7 @@ def evaluate(op, op_str, a, b, raise_on_error=False, use_numexpr=True):
158158
"""
159159

160160
if use_numexpr:
161-
return _evaluate(op, op_str, a, b, raise_on_error=raise_on_error)
161+
return _evaluate(op, op_str, a, b, raise_on_error=raise_on_error, **eval_kwargs)
162162
return _evaluate_standard(op, op_str, a, b, raise_on_error=raise_on_error)
163163

164164
def where(cond, a, b, raise_on_error=False, use_numexpr=True):

0 commit comments

Comments
 (0)