pandas.core.groupby.DataFrameGroupBy.filter
-
DataFrameGroupBy.filter(func, dropna=True, *args, **kwargs)
[source] -
Return a copy of a DataFrame excluding elements from groups that do not satisfy the boolean criterion specified by func.
Parameters: -
f : function
-
Function to apply to each subframe. Should return True or False.
-
dropna : Drop groups that do not pass the filter. True by default;
-
if False, groups that evaluate False are filled with NaNs.
Returns: -
filtered : DataFrame
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
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.core.groupby.DataFrameGroupBy.filter.html