Skip to content

Commit cfd70af

Browse files
committed
GH20925
Raises appropriate error for Series.reset_index(level_name, drop=True) when index is flat and invalid level is supplied. Made edits as requested in the review.
1 parent 30bc393 commit cfd70af

File tree

2 files changed

+1
-7
lines changed

2 files changed

+1
-7
lines changed

pandas/core/series.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1198,10 +1198,9 @@ def reset_index(self, level=None, drop=False, name=None, inplace=False):
11981198
if level is not None:
11991199
if not isinstance(level, (tuple, list)):
12001200
level = [level]
1201-
level = set(level)
12021201
level = [self.index._get_level_number(lev) for lev in level]
12031202
if isinstance(self.index, MultiIndex):
1204-
if (len(level) < len(self.index.levels)):
1203+
if len(level) < self.index.nlevels:
12051204
new_index = self.index.droplevel(level)
12061205

12071206
if inplace:

pandas/tests/series/indexing/test_indexing.py

-5
Original file line numberDiff line numberDiff line change
@@ -785,8 +785,3 @@ def test_reset_index_drop_errmsg():
785785
# Test Case 3
786786
with tm.assert_raises_regex(KeyError, 'not found'):
787787
s.reset_index('wrong', drop=True)
788-
# Data for Test Case 4
789-
s = pd.Series(range(4), name='valid')
790-
# Test Case 4
791-
with tm.assert_raises_regex(KeyError, 'must be same as name'):
792-
s.reset_index(['valid', 'valid'], drop=True)

0 commit comments

Comments
 (0)