Skip to content

Commit eb9fb0f

Browse files
committed
CLN: clean signature of (Index|MultiIndex).copy
1 parent 79633f9 commit eb9fb0f

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

pandas/core/indexes/base.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -820,20 +820,22 @@ def repeat(self, repeats, axis=None):
820820
# --------------------------------------------------------------------
821821
# Copying Methods
822822

823-
def copy(self, name=None, deep=False, dtype=None, **kwargs):
823+
def copy(self, name=None, deep=False, dtype=None, names=None):
824824
"""
825825
Make a copy of this object. Name and dtype sets those attributes on
826826
the new object.
827827
828828
Parameters
829829
----------
830-
name : str, optional
830+
name : Optional[Hashable]
831831
deep : bool, default False
832-
dtype : numpy dtype or pandas type
832+
dtype : numpy dtype or pandas type, optional
833+
names : list-like, optional
834+
Kept for compatibility with MultiIndex. Should not be used.
833835
834836
Returns
835837
-------
836-
copy : Index
838+
Index
837839
838840
Notes
839841
-----
@@ -845,7 +847,6 @@ def copy(self, name=None, deep=False, dtype=None, **kwargs):
845847
else:
846848
new_index = self._shallow_copy()
847849

848-
names = kwargs.get("names")
849850
names = self._validate_names(name=name, names=names, deep=deep)
850851
new_index = new_index.set_names(names)
851852

pandas/core/indexes/multi.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -1001,8 +1001,8 @@ def copy(
10011001
levels=None,
10021002
codes=None,
10031003
deep=False,
1004+
name=None,
10041005
_set_identity=False,
1005-
**kwargs,
10061006
):
10071007
"""
10081008
Make a copy of this object. Names, dtype, levels and codes can be
@@ -1014,21 +1014,20 @@ def copy(
10141014
dtype : numpy dtype or pandas type, optional
10151015
levels : sequence, optional
10161016
codes : sequence, optional
1017+
name : Optional[Hashable]
1018+
Kept for compatibility with 1-dimensional Index. Should not be used.
10171019
10181020
Returns
10191021
-------
1020-
copy : MultiIndex
1022+
MultiIndex
10211023
10221024
Notes
10231025
-----
10241026
In most cases, there should be no functional difference from using
10251027
``deep``, but if ``deep`` is passed it will attempt to deepcopy.
10261028
This could be potentially expensive on large MultiIndex objects.
10271029
"""
1028-
name = kwargs.get("name")
10291030
names = self._validate_names(name=name, names=names, deep=deep)
1030-
if "labels" in kwargs:
1031-
raise TypeError("'labels' argument has been removed; use 'codes' instead")
10321031
if deep:
10331032
from copy import deepcopy
10341033

0 commit comments

Comments
 (0)