Skip to content

Commit 853cd70

Browse files
mroeschkejreback
authored andcommitted
REF/CLN: Move private method (#24875)
1 parent a49be7f commit 853cd70

File tree

2 files changed

+15
-18
lines changed

2 files changed

+15
-18
lines changed

pandas/core/computation/expr.py

+15-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
UndefinedVariableError, _arith_ops_syms, _bool_ops_syms, _cmp_ops_syms,
1919
_mathops, _reductions, _unary_ops_syms, is_term)
2020
from pandas.core.computation.scope import Scope
21-
from pandas.core.reshape.util import compose
2221

2322
import pandas.io.formats.printing as printing
2423

@@ -103,8 +102,19 @@ def _replace_locals(tok):
103102
return toknum, tokval
104103

105104

106-
def _preparse(source, f=compose(_replace_locals, _replace_booleans,
107-
_rewrite_assign)):
105+
def _compose2(f, g):
106+
"""Compose 2 callables"""
107+
return lambda *args, **kwargs: f(g(*args, **kwargs))
108+
109+
110+
def _compose(*funcs):
111+
"""Compose 2 or more callables"""
112+
assert len(funcs) > 1, 'At least 2 callables must be passed to compose'
113+
return reduce(_compose2, funcs)
114+
115+
116+
def _preparse(source, f=_compose(_replace_locals, _replace_booleans,
117+
_rewrite_assign)):
108118
"""Compose a collection of tokenization functions
109119
110120
Parameters
@@ -701,8 +711,8 @@ def visitor(x, y):
701711
class PandasExprVisitor(BaseExprVisitor):
702712

703713
def __init__(self, env, engine, parser,
704-
preparser=partial(_preparse, f=compose(_replace_locals,
705-
_replace_booleans))):
714+
preparser=partial(_preparse, f=_compose(_replace_locals,
715+
_replace_booleans))):
706716
super(PandasExprVisitor, self).__init__(env, engine, parser, preparser)
707717

708718

pandas/core/reshape/util.py

-13
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import numpy as np
22

3-
from pandas.compat import reduce
4-
53
from pandas.core.dtypes.common import is_list_like
64

75
from pandas.core import common as com
@@ -57,14 +55,3 @@ def cartesian_product(X):
5755
return [np.tile(np.repeat(np.asarray(com.values_from_object(x)), b[i]),
5856
np.product(a[i]))
5957
for i, x in enumerate(X)]
60-
61-
62-
def _compose2(f, g):
63-
"""Compose 2 callables"""
64-
return lambda *args, **kwargs: f(g(*args, **kwargs))
65-
66-
67-
def compose(*funcs):
68-
"""Compose 2 or more callables"""
69-
assert len(funcs) > 1, 'At least 2 callables must be passed to compose'
70-
return reduce(_compose2, funcs)

0 commit comments

Comments
 (0)