Skip to content

Commit 46eea65

Browse files
allow none and empty for number column and add test cases
1 parent a7eb2aa commit 46eea65

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
@@ -1959,9 +1959,14 @@ def items_overlap_with_suffix(left, lsuffix, right, rsuffix):
19591959
if len(to_rename) == 0:
19601960
return left, right
19611961
else:
1962-
if not lsuffix and not rsuffix:
1963-
raise ValueError('columns overlap but no suffix specified: '
1964-
'{rename}'.format(rename=to_rename))
1962+
if isinstance(to_rename[0], str):
1963+
if not lsuffix and not rsuffix:
1964+
raise ValueError('columns overlap but no suffix specified: '
1965+
'{rename}'.format(rename=to_rename))
1966+
else:
1967+
if lsuffix is None and rsuffix is None:
1968+
raise ValueError('columns overlap but no suffix specified: '
1969+
'{rename}'.format(rename=to_rename))
19651970

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

pandas/tests/reshape/merge/test_merge.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -1454,7 +1454,8 @@ def test_merge_series(on, left_on, right_on, left_index, right_index, nm):
14541454
("a", "a", ("_x", None), ["a_x", "a"]),
14551455
("a", "b", ("_x", None), ["a", "b"]),
14561456
("a", "a", [None, "_x"], ["a", "a_x"]),
1457-
(0, 0, ["_a", None], ["0_a", 0])
1457+
(0, 0, ["_a", None], ["0_a", 0]),
1458+
(0, 0, ('', None), ["0", 0])
14581459
])
14591460
def test_merge_suffix(col1, col2, suffixes, expected_cols):
14601461
# issue: 24782
@@ -1468,17 +1469,17 @@ def test_merge_suffix(col1, col2, suffixes, expected_cols):
14681469
tm.assert_frame_equal(result, expected)
14691470

14701471

1471-
@pytest.mark.parametrize("suffixes", [
1472-
(None, None),
1473-
('', None),
1474-
(None, ''),
1475-
[None, None],
1476-
['', None]
1472+
@pytest.mark.parametrize("col, suffixes", [
1473+
('a', (None, None)),
1474+
('a', [None, None]),
1475+
('a', ('', None)),
1476+
('a', [None, '']),
1477+
(0, (None, None))
14771478
])
1478-
def test_merge_suffix_errors(suffixes):
1479+
def test_merge_suffix_errors(col, suffixes):
14791480
# issue: 24782
1480-
a = pd.DataFrame({0: [1, 2, 3]})
1481-
b = pd.DataFrame({0: [4, 5, 6]})
1481+
a = pd.DataFrame({col: [1, 2, 3]})
1482+
b = pd.DataFrame({col: [4, 5, 6]})
14821483

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

0 commit comments

Comments
 (0)