Skip to content

Commit 3ab369c

Browse files
mroeschkejreback
authored andcommitted
TST: Groupby.filter dropna=False with empty group (#10780) (#14926)
Add test for dropna = True
1 parent 708792a commit 3ab369c

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

pandas/tests/groupby/test_filters.py

+13
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,19 @@ def test_filter_non_bool_raises(self):
596596
with tm.assertRaisesRegexp(TypeError, 'filter function returned a.*'):
597597
df.groupby('a').filter(lambda g: g.c.mean())
598598

599+
def test_filter_dropna_with_empty_groups(self):
600+
# GH 10780
601+
data = pd.Series(np.random.rand(9), index=np.repeat([1, 2, 3], 3))
602+
groupped = data.groupby(level=0)
603+
result_false = groupped.filter(lambda x: x.mean() > 1, dropna=False)
604+
expected_false = pd.Series([np.nan] * 9,
605+
index=np.repeat([1, 2, 3], 3))
606+
tm.assert_series_equal(result_false, expected_false)
607+
608+
result_true = groupped.filter(lambda x: x.mean() > 1, dropna=True)
609+
expected_true = pd.Series(index=pd.Index([], dtype=int))
610+
tm.assert_series_equal(result_true, expected_true)
611+
599612

600613
def assert_fp_equal(a, b):
601614
assert (np.abs(a - b) < 1e-12).all()

0 commit comments

Comments
 (0)