diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 64759dcf07d8b..a0c97b0cdd268 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -5145,9 +5145,7 @@ def set_index( return frame @overload - # https://github.com/python/mypy/issues/6580 - # Overloaded function signatures 1 and 2 overlap with incompatible return types - def reset_index( # type: ignore[misc] + def reset_index( self, level: Optional[Union[Hashable, Sequence[Hashable]]] = ..., drop: bool = ..., @@ -5157,15 +5155,58 @@ def reset_index( # type: ignore[misc] ) -> DataFrame: ... + @overload + def reset_index( + self, + level: Optional[Union[Hashable, Sequence[Hashable]]], + drop: bool, + inplace: Literal[True], + col_level: Hashable = ..., + col_fill: Hashable = ..., + ) -> None: + ... + + @overload + def reset_index( + self, + *, + drop: bool, + inplace: Literal[True], + col_level: Hashable = ..., + col_fill: Hashable = ..., + ) -> None: + ... + + @overload + def reset_index( + self, + *, + level: Optional[Union[Hashable, Sequence[Hashable]]], + inplace: Literal[True], + col_level: Hashable = ..., + col_fill: Hashable = ..., + ) -> None: + ... + + @overload + def reset_index( + self, + *, + inplace: Literal[True], + col_level: Hashable = ..., + col_fill: Hashable = ..., + ) -> None: + ... + @overload def reset_index( self, level: Optional[Union[Hashable, Sequence[Hashable]]] = ..., drop: bool = ..., - inplace: Literal[True] = ..., + inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., - ) -> None: + ) -> Optional[DataFrame]: ... def reset_index(