[Pandas-dev] PDEP-8: In-place methods in pandas (i.e. deprecating the inplace keyword)
Joris Van den Bossche
jorisvandenbossche at gmail.com
Mon Nov 13 09:53:10 EST 2023
Hi list,
There is proposal to deprecate and eventually remove the `inplace` keyword
(in most places): PDEP-8 (https://github.com/pandas-dev/pandas/pull/51466).
This has been open for quite a while, and I just updated the text to
reflect the latest state of the discussion, and wanted to bring this up on
the mailing list here as well.
Feedback goes to the PR: https://github.com/pandas-dev/pandas/pull/51466
If you want to see a rendered version of the text:
https://jorisvandenbossche.github.io/pandas-website-preview/pdeps/0008-inplace-methods-in-pandas.html
(our website does not yet render them before being merged)
And posting the abstract here as well. The PDEP proposes:
-
The inplace parameter will be removed from any method which can never
update the underlying values of a pandas object inplace or which alters the
shape of the object, and where the inplace=True option is only syntactic
sugar for reassigning the result to the calling DataFrame/Series.
-
As a consequence, the inplace parameter is only kept for those methods
that can modify the underlying values of a pandas object inplace, such as
fillna or replace.
-
With the introduction of Copy-on-Write (PDEP-7[1]
<https://jorisvandenbossche.github.io/pandas-website-preview/pdeps/0008-inplace-methods-in-pandas.html#id9>),
users don’t need the inplace keyword to avoid a copy of the data.
-
For those methods that will keep the inplace=True option:
-
the method will do an attempt to do the operation inplace but still
silently copy when needed (for Copy-on-Write), i.e. there is no guarantee
it is actually done inplace.
-
the method will return the calling object (self), instead of the
current None.
For the full proposal and motivation, see the links above.
Feedback welcome!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/pandas-dev/attachments/20231113/d5d52ad2/attachment.html>
More information about the Pandas-dev
mailing list