pandas.core.groupby.DataFrameGroupBy.filter#
- DataFrameGroupBy.filter(func, dropna=True, *args, **kwargs)[源代码]#
过滤掉不满足标准的组元素。
如果组不满足 func 指定的布尔标准,则会过滤掉来自该组的元素。
- Parameters:
- funcfunction
应用于每个组的标准。应返回 True 或 False。
- dropnabool
删除不通过过滤的组。默认为 True;如果为 False,则评估为 False 的组将用 NaNs 填充。
- Returns:
- DataFrame
Notes
每个子 DataFrame 都被赋予 ‘name’ 属性,以防您需要知道您正在处理哪个组。
修改传入对象的函数可能会导致意外行为或错误,因此不受支持。有关详细信息,请参阅 使用用户定义函数 (UDF) 方法进行变异 。
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