From de1324eb8aa975c5983c2650daa1003d3af4e09b Mon Sep 17 00:00:00 2001 From: caneff Date: Mon, 4 Sep 2023 10:42:08 -0400 Subject: [PATCH 1/2] TYP: Add typing.overload signatures to DataFrame/Series.clip This adds overloads so that a type checker can determine whether clip returns a Series/DataFrame or None based on the value of the inplace argument. --- pandas/core/generic.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index b9407ebe6624a..5c92c58c8c623 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -8607,6 +8607,42 @@ def _clip_with_one_bound(self, threshold, method, axis, inplace): # GH 40420 return self.where(subset, threshold, axis=axis, inplace=inplace) + @overload + def clip( + self, + lower=..., + upper=..., + *, + axis: Axis | None = ..., + inplace: Literal[False] = ..., + **kwargs, + ) -> Self: + ... + + @overload + def clip( + self, + lower=..., + upper=..., + *, + axis: Axis | None = ..., + inplace: Literal[True], + **kwargs, + ) -> None: + ... + + @overload + def clip( + self, + lower=..., + upper=..., + *, + axis: Axis | None = ..., + inplace: bool_t = ..., + **kwargs, + ) -> Self | None: + ... + @final def clip( self, From 52111385e5d689b1bc920e26cad781048a5d6727 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 14:52:42 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pandas/core/generic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 5c92c58c8c623..6d38f5f9c61e1 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -8630,7 +8630,7 @@ def clip( **kwargs, ) -> None: ... - + @overload def clip( self, @@ -8642,7 +8642,7 @@ def clip( **kwargs, ) -> Self | None: ... - + @final def clip( self,