From 7c9b0f1b86fb7e555728791c64f99c809d77d86a Mon Sep 17 00:00:00 2001 From: gmaiwald gmaiwald Date: Tue, 18 Apr 2023 14:56:40 +0000 Subject: [PATCH 1/3] GH-24196: regression test on sum nan implemented --- pandas/tests/groupby/test_groupby.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index b5b13d6b10511..974ef3ecee336 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -2970,3 +2970,16 @@ def test_groupby_numeric_only_std_no_result(numeric_only): ValueError, match="could not convert string to float: 'bar'" ): dfgb.std(numeric_only=numeric_only) + + +@pytest.mark.parametrize("bug_var", [1, "a"]) +def test_groupby_sum_on_nan_should_return_nan(bug_var): + # GH 24196 + df = pd.DataFrame({ + 'A': [bug_var, bug_var, bug_var, np.nan] + }) + dfgb = df.groupby(lambda x: x) + result = dfgb.sum(min_count=1) + + expected_df = DataFrame([bug_var, bug_var, bug_var, np.nan], columns=["A"]) + tm.assert_frame_equal(result, expected_df) From 132f0e8e507cc2f27177a7b8af80cfaf7f5f7dc3 Mon Sep 17 00:00:00 2001 From: gmaiwald gmaiwald Date: Tue, 18 Apr 2023 15:01:05 +0000 Subject: [PATCH 2/3] GH-24196: typo fixed --- pandas/tests/groupby/test_groupby.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index 974ef3ecee336..f6774264a8d4f 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -2976,7 +2976,7 @@ def test_groupby_numeric_only_std_no_result(numeric_only): def test_groupby_sum_on_nan_should_return_nan(bug_var): # GH 24196 df = pd.DataFrame({ - 'A': [bug_var, bug_var, bug_var, np.nan] + "A": [bug_var, bug_var, bug_var, np.nan] }) dfgb = df.groupby(lambda x: x) result = dfgb.sum(min_count=1) From 3e10c6a0ca085270cf5f03be50cf7c3096d40904 Mon Sep 17 00:00:00 2001 From: gmaiwald gmaiwald Date: Tue, 18 Apr 2023 15:18:09 +0000 Subject: [PATCH 3/3] GH-24196: linting rules applied --- pandas/tests/groupby/test_groupby.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index f6774264a8d4f..29382be60b08b 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -2975,9 +2975,7 @@ def test_groupby_numeric_only_std_no_result(numeric_only): @pytest.mark.parametrize("bug_var", [1, "a"]) def test_groupby_sum_on_nan_should_return_nan(bug_var): # GH 24196 - df = pd.DataFrame({ - "A": [bug_var, bug_var, bug_var, np.nan] - }) + df = DataFrame({"A": [bug_var, bug_var, bug_var, np.nan]}) dfgb = df.groupby(lambda x: x) result = dfgb.sum(min_count=1)