@@ -148,7 +148,7 @@ def _check_for_locals(expr, stack_level, parser):
148148
149149def eval (expr , parser = 'pandas' , engine = None , truediv = True ,
150150 local_dict = None , global_dict = None , resolvers = (), level = 0 ,
151- target = None , inplace = None ):
151+ target = None , inplace = False ):
152152 """Evaluate a Python expression as a string using various backends.
153153
154154 The following arithmetic operations are supported: ``+``, ``-``, ``*``,
@@ -207,14 +207,10 @@ def eval(expr, parser='pandas', engine=None, truediv=True,
207207 scope. Most users will **not** need to change this parameter.
208208 target : a target object for assignment, optional, default is None
209209 essentially this is a passed in resolver
210- inplace : bool, default True
210+ inplace : bool, default False
211211 If expression mutates, whether to modify object inplace or return
212212 copy with mutation.
213213
214- WARNING: inplace=None currently falls back to to True, but
215- in a future version, will default to False. Use inplace=True
216- explicitly rather than relying on the default.
217-
218214 Returns
219215 -------
220216 ndarray, numeric scalar, DataFrame, Series
@@ -272,14 +268,6 @@ def eval(expr, parser='pandas', engine=None, truediv=True,
272268
273269 # assign if needed
274270 if env .target is not None and parsed_expr .assigner is not None :
275- if inplace is None :
276- warnings .warn (
277- "eval expressions containing an assignment currently"
278- "default to operating inplace.\n This will change in "
279- "a future version of pandas, use inplace=True to "
280- "avoid this warning." ,
281- FutureWarning , stacklevel = 3 )
282- inplace = True
283271
284272 # if returning a copy, copy only on the first assignment
285273 if not inplace and first_expr :
0 commit comments