DataFrameGroupBy.
filter
Return a copy of a DataFrame excluding filtered elements.
Elements from groups are filtered if they do not satisfy the boolean criterion specified by func.
Function to apply to each subframe. Should return True or False.
If False, groups that evaluate False are filled with NaNs.
Notes
Each subframe is endowed the attribute ‘name’ in case you need to know which group you are working on.
Examples
>>> df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', ... 'foo', 'bar'], ... 'B' : [1, 2, 3, 4, 5, 6], ... 'C' : [2.0, 5., 8., 1., 2., 9.]}) >>> grouped = df.groupby('A') >>> grouped.filter(lambda x: x['B'].mean() > 3.) A B C 1 bar 2 5.0 3 bar 4 1.0 5 bar 6 9.0