maxframe.dataframe.groupby.GroupBy.apply#
- GroupBy.apply(func, *args, output_type=None, dtypes=None, dtype=None, name=None, index=None, skip_infer=None, prepend_index_group_keys=False, **kwargs)#
按组应用函数 func 并将结果组合在一起。
传递给 apply 的函数必须以一个 DataFrame 作为第一个参数,并返回一个 DataFrame、Series 或标量。apply 会负责将结果重新组合成一个单独的 DataFrame 或 Series。因此,apply 是一种非常灵活的分组方法。
虽然 apply 是一种非常灵活的方法,但它的缺点是使用起来可能比使用更具体的方法(如 agg 或 transform)慢很多。Pandas 提供了许多针对特定用途比 apply 更快的方法,因此在使用 apply 之前应优先尝试这些方法。
- 参数:
func (callable) -- 一个可调用对象,其第一个参数为一个 DataFrame,并返回一个 DataFrame、Series 或标量。此外,该可调用对象还可以接受位置和关键字参数。
output_type ({'dataframe', 'series'}, default None) -- 指定返回对象的类型。详见 Notes。
dtypes (Series, default None) -- 指定返回 DataFrame 的数据类型。详见 Notes。
dtype (numpy.dtype, default None) -- 指定返回 Series 的数据类型。详见 Notes。
name (str, default None) -- 指定返回 Series 的名称。详见 Notes。
index (Index, default None) -- 指定返回对象的索引。详见 Notes。
skip_infer (bool, default False) -- 当未指定 dtypes 或 output_type 时是否推断数据类型。
prepend_index_group_keys (bool, default False) -- 如果为 True,则当 group_keys=True 时,返回的 DataFrame 或 Series 的索引将自动包含组键(如果 as_index=True)或组索引(如果 as_index=False)。 .. 注意:: 在未来的版本中,prepend_index_group_keys 将默认设置为 True, 如果该参数被设置为 False,将会显示警告。为了确保您的代码在未来的版本中正常工作, 请将其设置为 True,并在索引参数或 func 的类型注解中移除组索引。
args (tuple and dict) -- 传递给 func 的可选位置和关键字参数。
kwargs (tuple and dict) -- 传递给 func 的可选位置和关键字参数。
- 返回:
应用的
- 返回类型:
参见
备注
在确定输出数据类型和返回值形状时,MaxFrame 会尝试将
func应用于一个模拟的分组对象,此时 apply 调用可能会失败。如果发生这种情况,你需要在 output_type 中指定 apply 调用的类型(DataFrame 或 Series)。对于 DataFrame 输出,需要指定一个列表或 pandas Series 作为输出 DataFrame 的
dtypes。输出的index也可以指定。对于 Series 输出,您需要指定输出 Series 的
dtype和name。