Skip to content

Commit ef4cf72

Browse files
authored
TST: Determine groupby-transform not convert back type (#50754)
* determine groupby-transform not convert back type * Replace format with f-string * assert whole DataFrame * add more cases * instead format of f-string
1 parent 06d074f commit ef4cf72

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

pandas/tests/groupby/transform/test_transform.py

+20
Original file line numberDiff line numberDiff line change
@@ -1046,6 +1046,26 @@ def test_groupby_transform_with_datetimes(func, values):
10461046
tm.assert_series_equal(result, expected)
10471047

10481048

1049+
def test_groupby_transform_dtype():
1050+
# GH 22243
1051+
df = DataFrame({"a": [1], "val": [1.35]})
1052+
1053+
result = df["val"].transform(lambda x: x.map(lambda y: f"+{y}"))
1054+
expected1 = Series(["+1.35"], name="val", dtype="object")
1055+
tm.assert_series_equal(result, expected1)
1056+
1057+
result = df.groupby("a")["val"].transform(lambda x: x.map(lambda y: f"+{y}"))
1058+
tm.assert_series_equal(result, expected1)
1059+
1060+
result = df.groupby("a")["val"].transform(lambda x: x.map(lambda y: f"+({y})"))
1061+
expected2 = Series(["+(1.35)"], name="val", dtype="object")
1062+
tm.assert_series_equal(result, expected2)
1063+
1064+
df["val"] = df["val"].astype(object)
1065+
result = df.groupby("a")["val"].transform(lambda x: x.map(lambda y: f"+{y}"))
1066+
tm.assert_series_equal(result, expected1)
1067+
1068+
10491069
@pytest.mark.parametrize("func", ["cumsum", "cumprod", "cummin", "cummax"])
10501070
def test_transform_absent_categories(func):
10511071
# GH 16771

0 commit comments

Comments
 (0)