pandas.core.groupby.DataFrameGroupBy.filter#

DataFrameGroupBy.filter(func, dropna=True, *args, **kwargs)[源代码]#

返回DataFrame的副本,不包括已筛选的元素。

如果组中的元素不满足由Func指定的布尔标准,则会对其进行筛选。

参数
func功能

函数应用于每个子帧。应返回True或False。

dropna删除未通过筛选器的组。默认情况下为True;

如果为FALSE,则评估为FALSE的组将填充NAN。

退货
filteredDataFrame

注意事项

每个子帧都被赋予了‘name’属性,以防您需要知道您正在处理的是哪个组。

改变传递的对象的函数可能会产生意外的行为或错误,因此不受支持。看见 使用用户定义函数(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