Skip to content

Commit e665f56

Browse files
Zhengbo Wangpmhatre1
Zhengbo Wang
authored andcommitted
TST: Add test for grouby after dropna agg nunique and unique (pandas-dev#57711)
* Add test * typo
1 parent dde7350 commit e665f56

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

pandas/tests/groupby/test_groupby.py

+20
Original file line numberDiff line numberDiff line change
@@ -2945,3 +2945,23 @@ def test_decimal_na_sort(test_series):
29452945
result = gb._grouper.result_index
29462946
expected = Index([Decimal(1), None], name="key")
29472947
tm.assert_index_equal(result, expected)
2948+
2949+
2950+
def test_groupby_dropna_with_nunique_unique():
2951+
# GH#42016
2952+
df = [[1, 1, 1, "A"], [1, None, 1, "A"], [1, None, 2, "A"], [1, None, 3, "A"]]
2953+
df_dropna = DataFrame(df, columns=["a", "b", "c", "partner"])
2954+
result = df_dropna.groupby(["a", "b", "c"], dropna=False).agg(
2955+
{"partner": ["nunique", "unique"]}
2956+
)
2957+
2958+
index = MultiIndex.from_tuples(
2959+
[(1, 1.0, 1), (1, np.nan, 1), (1, np.nan, 2), (1, np.nan, 3)],
2960+
names=["a", "b", "c"],
2961+
)
2962+
columns = MultiIndex.from_tuples([("partner", "nunique"), ("partner", "unique")])
2963+
expected = DataFrame(
2964+
[(1, ["A"]), (1, ["A"]), (1, ["A"]), (1, ["A"])], index=index, columns=columns
2965+
)
2966+
2967+
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)