Skip to content

Commit f5113fc

Browse files
allow none and empty for number column and add test cases
1 parent f086feb commit f5113fc

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

pandas/core/internals/managers.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -1967,9 +1967,14 @@ def items_overlap_with_suffix(left, lsuffix, right, rsuffix):
19671967
if len(to_rename) == 0:
19681968
return left, right
19691969
else:
1970-
if not lsuffix and not rsuffix:
1971-
raise ValueError('columns overlap but no suffix specified: '
1972-
'{rename}'.format(rename=to_rename))
1970+
if isinstance(to_rename[0], str):
1971+
if not lsuffix and not rsuffix:
1972+
raise ValueError('columns overlap but no suffix specified: '
1973+
'{rename}'.format(rename=to_rename))
1974+
else:
1975+
if lsuffix is None and rsuffix is None:
1976+
raise ValueError('columns overlap but no suffix specified: '
1977+
'{rename}'.format(rename=to_rename))
19731978

19741979
def renamer(x, suffix):
19751980
"""Rename the left and right indices.

pandas/tests/reshape/merge/test_merge.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -1520,7 +1520,8 @@ def test_merge_series(on, left_on, right_on, left_index, right_index, nm):
15201520
("a", "a", ("_x", None), ["a_x", "a"]),
15211521
("a", "b", ("_x", None), ["a", "b"]),
15221522
("a", "a", [None, "_x"], ["a", "a_x"]),
1523-
(0, 0, ["_a", None], ["0_a", 0])
1523+
(0, 0, ["_a", None], ["0_a", 0]),
1524+
(0, 0, ('', None), ["0", 0])
15241525
])
15251526
def test_merge_suffix(col1, col2, suffixes, expected_cols):
15261527
# issue: 24782
@@ -1534,17 +1535,17 @@ def test_merge_suffix(col1, col2, suffixes, expected_cols):
15341535
tm.assert_frame_equal(result, expected)
15351536

15361537

1537-
@pytest.mark.parametrize("suffixes", [
1538-
(None, None),
1539-
('', None),
1540-
(None, ''),
1541-
[None, None],
1542-
['', None]
1538+
@pytest.mark.parametrize("col, suffixes", [
1539+
('a', (None, None)),
1540+
('a', [None, None]),
1541+
('a', ('', None)),
1542+
('a', [None, '']),
1543+
(0, (None, None))
15431544
])
1544-
def test_merge_suffix_errors(suffixes):
1545+
def test_merge_suffix_errors(col, suffixes):
15451546
# issue: 24782
1546-
a = pd.DataFrame({0: [1, 2, 3]})
1547-
b = pd.DataFrame({0: [4, 5, 6]})
1547+
a = pd.DataFrame({col: [1, 2, 3]})
1548+
b = pd.DataFrame({col: [4, 5, 6]})
15481549

15491550
with pytest.raises(ValueError,
15501551
match="columns overlap but no suffix specified"):

0 commit comments

Comments
 (0)