From 3246fb09d7e0a6943a04afda1a3a0a18d09fb7e1 Mon Sep 17 00:00:00 2001 From: Saehui Hwang Date: Wed, 29 Sep 2021 17:20:43 -0700 Subject: [PATCH 1/3] added test for verifying selection methods of a dataframe with assigned column --- pandas/tests/indexing/test_at.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pandas/tests/indexing/test_at.py b/pandas/tests/indexing/test_at.py index 23d2bee612243..8255b0f9da798 100644 --- a/pandas/tests/indexing/test_at.py +++ b/pandas/tests/indexing/test_at.py @@ -26,6 +26,28 @@ def test_at_timezone(): tm.assert_frame_equal(result, expected) +def test_selection_methods_of_assigned_col(): + # GH#29282 + df = DataFrame(data={"a": [1, 2, 3], "b": [4, 5, 6]}) + df2 = DataFrame(data={"c": [7, 8, 9]}, index=[2, 1, 0]) + df["c"] = df2["c"] + df.at[1, "c"] = 11 + result = df + expected = DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "c": [9, 11, 7]}) + tm.assert_frame_equal(result, expected) + result = df.at[1, "c"] + expected = 11 + assert result == expected + result = df["c"] + expected = Series([9, 11, 7], name="c") + print(result) + print(expected) + tm.assert_series_equal(result, expected) + result = df[["c"]] + expected = DataFrame({"c": [9, 11, 7]}) + tm.assert_frame_equal(result, expected) + + class TestAtSetItem: def test_at_setitem_mixed_index_assignment(self): # GH#19860 From 375e26606d36863f2683c351022e1f3c4dfcc28c Mon Sep 17 00:00:00 2001 From: Saehui Hwang Date: Wed, 29 Sep 2021 17:28:41 -0700 Subject: [PATCH 2/3] TST: test selection methods of df --- pandas/tests/indexing/test_at.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/indexing/test_at.py b/pandas/tests/indexing/test_at.py index 8255b0f9da798..bb55938f74df0 100644 --- a/pandas/tests/indexing/test_at.py +++ b/pandas/tests/indexing/test_at.py @@ -27,7 +27,7 @@ def test_at_timezone(): def test_selection_methods_of_assigned_col(): - # GH#29282 + # GH 29282 df = DataFrame(data={"a": [1, 2, 3], "b": [4, 5, 6]}) df2 = DataFrame(data={"c": [7, 8, 9]}, index=[2, 1, 0]) df["c"] = df2["c"] From 2c3777068758e2056e9ea57e9a97502b5b528251 Mon Sep 17 00:00:00 2001 From: Saehui Hwang Date: Fri, 1 Oct 2021 13:22:34 -0700 Subject: [PATCH 3/3] stylistic changes --- pandas/tests/indexing/test_at.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pandas/tests/indexing/test_at.py b/pandas/tests/indexing/test_at.py index bb55938f74df0..d6be817ab6f77 100644 --- a/pandas/tests/indexing/test_at.py +++ b/pandas/tests/indexing/test_at.py @@ -36,13 +36,12 @@ def test_selection_methods_of_assigned_col(): expected = DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "c": [9, 11, 7]}) tm.assert_frame_equal(result, expected) result = df.at[1, "c"] - expected = 11 - assert result == expected + assert result == 11 + result = df["c"] expected = Series([9, 11, 7], name="c") - print(result) - print(expected) tm.assert_series_equal(result, expected) + result = df[["c"]] expected = DataFrame({"c": [9, 11, 7]}) tm.assert_frame_equal(result, expected)