pandas.core.groupby.DataFrameGroupBy.filter#

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

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

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

参数:
func函数

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

dropnabool

丢弃未通过过滤器的组。默认为True;如果为False,则评估为False的组将填充NaN。

*args

传递给 func 的额外位置参数。

**kwargs

传递给 func 的额外关键字参数。

返回:
DataFrame

原始DataFrame的过滤子集。

备注

每个子框架都被赋予了 ‘name’ 属性,以防你需要知道你正在处理哪个组。

修改传递对象的函数可能会产生意外行为或错误,并且不受支持。更多详情请参见 使用用户定义函数 (UDF) 方法进行变异

例子

>>> df = pd.DataFrame(
...     {
...         "A": ["foo", "bar", "foo", "bar", "foo", "bar"],
...         "B": [1, 2, 3, 4, 5, 6],
...         "C": [2.0, 5.0, 8.0, 1.0, 2.0, 9.0],
...     }
... )
>>> grouped = df.groupby("A")
>>> grouped.filter(lambda x: x["B"].mean() > 3.0)
     A  B    C
1  bar  2  5.0
3  bar  4  1.0
5  bar  6  9.0