pandas.core.groupby.SeriesGroupBy.filter#

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

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

如果元素不满足 func 指定的布尔标准,则从组中过滤掉这些元素。

参数:
func函数

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

dropnabool

删除未通过过滤器的组。默认为True;如果为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.0, 8.0, 1.0, 2.0, 9.0],
...     }
... )
>>> grouped = df.groupby("A")
>>> df.groupby("A").B.filter(lambda x: x.mean() > 3.0)
1    2
3    4
5    6
Name: B, dtype: int64