pandas.core.groupby.DataFrameGroupBy.filter #

DataFrameGroupBy。过滤器func dropna = True * args ** kwargs[来源] #

从不满足条件的组中过滤元素。

如果组中的元素不满足 func 指定的布尔标准,则会过滤它们。

参数
函数函数

适用于每个组的标准。应返回 True 或 False。

德普纳布尔

删除未通过过滤器的组。默认为真;如果为 False,则评估 False 的组将填充 NaN。

返回
数据框

笔记

每个子框架都被赋予属性“名称”,以防您需要知道您正在处理哪个组。

改变传递的对象的函数可能会产生意外的行为或错误,因此不受支持。 有关更多详细信息,请参阅使用用户定义函数 (UDF) 方法进行变异。

例子

>>> 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