Skip to content

Commit 9c9789c

Browse files
authored
Improve error message about duplicate columns in df.explode (#49264)
1 parent 2317bf0 commit 9c9789c

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

pandas/core/frame.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -8956,7 +8956,11 @@ def explode(
89568956
3 4 1 e
89578957
"""
89588958
if not self.columns.is_unique:
8959-
raise ValueError("columns must be unique")
8959+
duplicate_cols = self.columns[self.columns.duplicated()].tolist()
8960+
raise ValueError(
8961+
"DataFrame columns must be unique. "
8962+
+ f"Duplicate columns: {duplicate_cols}"
8963+
)
89608964

89618965
columns: list[Hashable]
89628966
if is_scalar(column) or isinstance(column, tuple):

pandas/tests/frame/methods/test_explode.py

+6-1
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("DataFrame columns must be unique. Duplicate columns: ['A']"),
26+
):
2227
df.explode("A")
2328

2429

0 commit comments

Comments
 (0)