Skip to content

Commit 3c5601a

Browse files
committed
Improve error message about duplicate columns in df.explode
1 parent bca35ff commit 3c5601a

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

pandas/core/frame.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8939,7 +8939,11 @@ def explode(
89398939
3 4 1 e
89408940
"""
89418941
if not self.columns.is_unique:
8942-
raise ValueError("columns must be unique")
8942+
duplicate_cols = self.columns[self.columns.duplicated()].tolist()
8943+
raise ValueError(
8944+
"data frame columns must be unique. "
8945+
+ f"Duplicate columns: {duplicate_cols}"
8946+
)
89438947

89448948
columns: list[Hashable]
89458949
if is_scalar(column) or isinstance(column, tuple):

pandas/tests/frame/methods/test_explode.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import re
2+
13
import numpy as np
24
import pytest
35

@@ -18,7 +20,10 @@ def test_error():
1820
df.explode(list("AA"))
1921

2022
df.columns = list("AA")
21-
with pytest.raises(ValueError, match="columns must be unique"):
23+
with pytest.raises(
24+
ValueError,
25+
match=re.escape("data frame columns must be unique. Duplicate columns: ['A']"),
26+
):
2227
df.explode("A")
2328

2429

0 commit comments

Comments
 (0)