Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1476957

Browse filesBrowse files
committed
BUG: Raise MergeError when suffixes result in duplicate column names (GH#61402)
1 parent 9c5b9ee commit 1476957
Copy full SHA for 1476957

File tree

Expand file treeCollapse file tree

1 file changed

+7
-4
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+7
-4
lines changed

‎pandas/core/reshape/merge.py

Copy file name to clipboardExpand all lines: pandas/core/reshape/merge.py
+7-4Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3058,16 +3058,19 @@ def renamer(x, suffix: str | None):
30583058
llabels = left._transform_index(lrenamer)
30593059
rlabels = right._transform_index(rrenamer)
30603060

3061-
dups = []
3061+
dups = set()
30623062
if not llabels.is_unique:
30633063
# Only warn when duplicates are caused because of suffixes, already duplicated
30643064
# columns in origin should not warn
3065-
dups = llabels[(llabels.duplicated()) & (~left.duplicated())].tolist()
3065+
dups.update(llabels[(llabels.duplicated()) & (~left.duplicated())])
30663066
if not rlabels.is_unique:
3067-
dups.extend(rlabels[(rlabels.duplicated()) & (~right.duplicated())].tolist())
3067+
dups.update(rlabels[(rlabels.duplicated()) & (~right.duplicated())])
3068+
# Suffix addition creates duplicate to pre-existing column name
3069+
dups.update(llabels.intersection(right.difference(to_rename)))
3070+
dups.update(rlabels.intersection(left.difference(to_rename)))
30683071
if dups:
30693072
raise MergeError(
3070-
f"Passing 'suffixes' which cause duplicate columns {set(dups)} is "
3073+
f"Passing 'suffixes' which cause duplicate columns {dups} is "
30713074
f"not allowed.",
30723075
)
30733076

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.