Skip to content

Commit be51249

Browse files
undermyumbrella1Kei
authored andcommitted
Add tests for transform sum with series (pandas-dev#58012)
* Add tests for transform sum with series * Refactor to seperate tests --------- Co-authored-by: Kei <[email protected]>
1 parent 497c21b commit be51249

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

pandas/tests/groupby/transform/test_transform.py

+44
Original file line numberDiff line numberDiff line change
@@ -1491,3 +1491,47 @@ def test_idxmin_idxmax_transform_args(how, skipna, numeric_only):
14911491
msg = f"DataFrameGroupBy.{how} with skipna=False encountered an NA value"
14921492
with pytest.raises(ValueError, match=msg):
14931493
gb.transform(how, skipna, numeric_only)
1494+
1495+
1496+
def test_transform_sum_one_column_no_matching_labels():
1497+
df = DataFrame({"X": [1.0]})
1498+
series = Series(["Y"])
1499+
result = df.groupby(series, as_index=False).transform("sum")
1500+
expected = DataFrame({"X": [1.0]})
1501+
tm.assert_frame_equal(result, expected)
1502+
1503+
1504+
def test_transform_sum_no_matching_labels():
1505+
df = DataFrame({"X": [1.0, -93204, 4935]})
1506+
series = Series(["A", "B", "C"])
1507+
1508+
result = df.groupby(series, as_index=False).transform("sum")
1509+
expected = DataFrame({"X": [1.0, -93204, 4935]})
1510+
tm.assert_frame_equal(result, expected)
1511+
1512+
1513+
def test_transform_sum_one_column_with_matching_labels():
1514+
df = DataFrame({"X": [1.0, -93204, 4935]})
1515+
series = Series(["A", "B", "A"])
1516+
1517+
result = df.groupby(series, as_index=False).transform("sum")
1518+
expected = DataFrame({"X": [4936.0, -93204, 4936.0]})
1519+
tm.assert_frame_equal(result, expected)
1520+
1521+
1522+
def test_transform_sum_one_column_with_missing_labels():
1523+
df = DataFrame({"X": [1.0, -93204, 4935]})
1524+
series = Series(["A", "C"])
1525+
1526+
result = df.groupby(series, as_index=False).transform("sum")
1527+
expected = DataFrame({"X": [1.0, -93204, np.nan]})
1528+
tm.assert_frame_equal(result, expected)
1529+
1530+
1531+
def test_transform_sum_one_column_with_matching_labels_and_missing_labels():
1532+
df = DataFrame({"X": [1.0, -93204, 4935]})
1533+
series = Series(["A", "A"])
1534+
1535+
result = df.groupby(series, as_index=False).transform("sum")
1536+
expected = DataFrame({"X": [-93203.0, -93203.0, np.nan]})
1537+
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)