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