Skip to content

Commit ef2a6a5

Browse files
committed
Add argument to rename index when resetting it.
1 parent 73c473d commit ef2a6a5

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

pandas/core/frame.py

+19-6
Original file line numberDiff line numberDiff line change
@@ -5542,6 +5542,7 @@ def reset_index(
55425542
inplace: Literal[False] = ...,
55435543
col_level: Hashable = ...,
55445544
col_fill: Hashable = ...,
5545+
names: Hashable | Sequence[Hashable] = None,
55455546
) -> DataFrame:
55465547
...
55475548

@@ -5553,6 +5554,7 @@ def reset_index(
55535554
inplace: Literal[True],
55545555
col_level: Hashable = ...,
55555556
col_fill: Hashable = ...,
5557+
names: Hashable | Sequence[Hashable] = None,
55565558
) -> None:
55575559
...
55585560

@@ -5564,6 +5566,7 @@ def reset_index(
55645566
inplace: Literal[True],
55655567
col_level: Hashable = ...,
55665568
col_fill: Hashable = ...,
5569+
names: Hashable | Sequence[Hashable] = None,
55675570
) -> None:
55685571
...
55695572

@@ -5575,6 +5578,7 @@ def reset_index(
55755578
inplace: Literal[True],
55765579
col_level: Hashable = ...,
55775580
col_fill: Hashable = ...,
5581+
names: Hashable | Sequence[Hashable] = None,
55785582
) -> None:
55795583
...
55805584

@@ -5585,6 +5589,7 @@ def reset_index(
55855589
inplace: Literal[True],
55865590
col_level: Hashable = ...,
55875591
col_fill: Hashable = ...,
5592+
names: Hashable | Sequence[Hashable] = None,
55885593
) -> None:
55895594
...
55905595

@@ -5596,6 +5601,7 @@ def reset_index(
55965601
inplace: bool = ...,
55975602
col_level: Hashable = ...,
55985603
col_fill: Hashable = ...,
5604+
names: Hashable | Sequence[Hashable] = None,
55995605
) -> DataFrame | None:
56005606
...
56015607

@@ -5607,7 +5613,8 @@ def reset_index(
56075613
inplace: bool = False,
56085614
col_level: Hashable = 0,
56095615
col_fill: Hashable = "",
5610-
) -> DataFrame | None:
5616+
names: Hashable | Sequence[Hashable] = None,
5617+
) -> Optional[DataFrame]:
56115618
"""
56125619
Reset the index, or a level of it.
56135620
@@ -5767,14 +5774,20 @@ class max type
57675774
if not drop:
57685775
to_insert: Iterable[tuple[Any, Any | None]]
57695776
if isinstance(self.index, MultiIndex):
5770-
names = [
5771-
(n if n is not None else f"level_{i}")
5772-
for i, n in enumerate(self.index.names)
5773-
]
5777+
if not names:
5778+
names = [
5779+
(n if n is not None else f"level_{i}")
5780+
for i, n in enumerate(self.index.names)
5781+
]
5782+
else:
5783+
names = names
57745784
to_insert = zip(self.index.levels, self.index.codes)
57755785
else:
57765786
default = "index" if "index" not in self else "level_0"
5777-
names = [default] if self.index.name is None else [self.index.name]
5787+
if not names:
5788+
names = [default] if self.index.name is None else [self.index.name]
5789+
else:
5790+
names = [names]
57785791
to_insert = ((self.index, None),)
57795792

57805793
multi_col = isinstance(self.columns, MultiIndex)

0 commit comments

Comments
 (0)