Skip to content

Commit 0cdea22

Browse files
committed
add non-RangeIndex test cases
1 parent 239e16a commit 0cdea22

File tree

1 file changed

+32
-19
lines changed

1 file changed

+32
-19
lines changed

pandas/tests/groupby/test_groupby_dropna.py

+32-19
Original file line numberDiff line numberDiff line change
@@ -163,39 +163,52 @@ def test_groupby_dropna_series_by(dropna, expected):
163163

164164

165165
@pytest.mark.parametrize(
166-
"dropna,expected",
166+
"dropna,input_index,expected_data,expected_index",
167167
[
168-
(True, pd.DataFrame({"B": [2, 2, 1]})),
169-
(False, pd.DataFrame({"B": [2, 2, 1, 1]})),
168+
(True, pd.RangeIndex(0, 4), {"B": [2, 2, 1]}, pd.RangeIndex(0, 3)),
169+
(True, list("abcd"), {"B": [2, 2, 1]}, list("abc")),
170+
(
171+
True,
172+
pd.MultiIndex.from_tuples(
173+
[(1, "R"), (1, "B"), (2, "R"), (2, "B")], names=["num", "col"]
174+
),
175+
{"B": [2, 2, 1]},
176+
pd.MultiIndex.from_tuples(
177+
[(1, "R"), (1, "B"), (2, "R")], names=["num", "col"]
178+
),
179+
),
180+
(False, pd.RangeIndex(0, 4), {"B": [2, 2, 1, 1]}, pd.RangeIndex(0, 4)),
181+
(False, list("abcd"), {"B": [2, 2, 1, 1]}, list("abcd")),
182+
(
183+
False,
184+
pd.MultiIndex.from_tuples(
185+
[(1, "R"), (1, "B"), (2, "R"), (2, "B")], names=["num", "col"]
186+
),
187+
{"B": [2, 2, 1, 1]},
188+
pd.MultiIndex.from_tuples(
189+
[(1, "R"), (1, "B"), (2, "R"), (2, "B")], names=["num", "col"]
190+
),
191+
),
170192
],
171193
)
172-
def test_groupby_dataframe_slice_then_transform(dropna, expected):
194+
def test_groupby_dataframe_slice_then_transform(
195+
dropna, input_index, expected_data, expected_index
196+
):
173197
# GH35014 & GH35612
174198

175-
df = pd.DataFrame({"A": [0, 0, 1, None], "B": [1, 2, 3, None]})
199+
df = pd.DataFrame({"A": [0, 0, 1, None], "B": [1, 2, 3, None]}, index=input_index)
176200
gb = df.groupby("A", dropna=dropna)
177201

178202
result = gb.transform(len)
203+
expected = pd.DataFrame(expected_data, index=expected_index)
179204
tm.assert_frame_equal(result, expected)
180205

181206
result = gb[["B"]].transform(len)
207+
expected = pd.DataFrame(expected_data, index=expected_index)
182208
tm.assert_frame_equal(result, expected)
183209

184-
185-
@pytest.mark.parametrize(
186-
"dropna,expected",
187-
[
188-
(True, pd.Series(data=[2, 2, 1], name="B")),
189-
(False, pd.Series(data=[2, 2, 1, 1], name="B")),
190-
],
191-
)
192-
def test_groupby_series_slice_then_transform_(dropna, expected):
193-
# GH35014 & GH35612
194-
195-
df = pd.DataFrame({"A": [0, 0, 1, None], "B": [1, 2, 3, None]})
196-
gb = df.groupby("A", dropna=dropna)
197-
198210
result = gb["B"].transform(len)
211+
expected = pd.Series(expected_data["B"], index=expected_index, name="B")
199212
tm.assert_series_equal(result, expected)
200213

201214

0 commit comments

Comments
 (0)