Skip to content

Commit 075161d

Browse files
committed
Improve error message about duplicate columns in df.explode
1 parent 6c46013 commit 075161d

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
@@ -9009,7 +9009,11 @@ def explode(
90099009
3 4 1 e
90109010
"""
90119011
if not self.columns.is_unique:
9012-
raise ValueError("columns must be unique")
9012+
duplicate_cols = self.columns[self.columns.duplicated()].tolist()
9013+
raise ValueError(
9014+
"data frame columns must be unique. "
9015+
+ f"Duplicate columns: {duplicate_cols}"
9016+
)
90139017

90149018
columns: list[Hashable]
90159019
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)