Skip to content

Commit 7ef4efa

Browse files
committed
ERR: fixup exception reports for duplicate axis reindexing, related (GH7432)
1 parent 3e1e0df commit 7ef4efa

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

pandas/core/frame.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -2022,9 +2022,13 @@ def _sanitize_column(self, key, value):
20222022
# GH 4107
20232023
try:
20242024
value = value.reindex(self.index).values
2025-
except ValueError as e:
2026-
raise e
2027-
except:
2025+
except Exception as e:
2026+
2027+
# duplicate axis
2028+
if not value.index.is_unique:
2029+
raise e
2030+
2031+
# other
20282032
raise TypeError('incompatible index of inserted column '
20292033
'with frame index')
20302034

pandas/tests/test_frame.py

+7
Original file line numberDiff line numberDiff line change
@@ -2467,6 +2467,13 @@ def test_constructor_with_embedded_frames(self):
24672467

24682468
def test_insert_error_msmgs(self):
24692469

2470+
# GH 7432
2471+
df = DataFrame({'foo':['a', 'b', 'c'], 'bar':[1,2,3], 'baz':['d','e','f']}).set_index('foo')
2472+
s = DataFrame({'foo':['a', 'b', 'c', 'a'], 'fiz':['g','h','i','j']}).set_index('foo')
2473+
msg = 'cannot reindex from a duplicate axis'
2474+
with assertRaisesRegexp(ValueError, msg):
2475+
df['newcol'] = s
2476+
24702477
# GH 4107, more descriptive error message
24712478
df = DataFrame(np.random.randint(0,2,(4,4)),
24722479
columns=['a', 'b', 'c', 'd'])

0 commit comments

Comments
 (0)