mars.dataframe.groupby.GroupBy.apply#
- GroupBy.apply(func, *args, output_type=None, dtypes=None, dtype=None, name=None, index=None, skip_infer=None, **kwargs)#
按组应用函数 func 并将结果合并在一起。
传递给 apply 的函数必须将数据框作为第一个参数,并返回一个 DataFrame、Series 或标量。 apply 将负责将结果重新组合成一个单一的数据框或系列。因此, apply 是一种高度灵活的分组方法。
虽然 apply 是一个非常灵活的方法,但它的缺点是使用起来可能比使用更具体的方法如 agg 或 transform 慢很多。Pandas 提供了许多方法,这些方法在特定用途中比使用 apply 要快得多,因此在使用 apply 之前,请尽量使用这些方法。
- Parameters
func (callable) – 一个可调用对象,它以数据框作为其第一个参数,并返回数据框、系列或标量。此外,该可调用对象可以接受位置参数和关键字参数。
output_type ({'dataframe', 'series'}, 默认值 None) – 指定返回对象的类型。详见 说明。
dtypes (Series, 默认值为 None) – 指定返回的 DataFrames 的数据类型。有关更多详细信息,请参见 说明。
dtype (numpy.dtype, 默认为 None) – 指定返回 Series 的数据类型。有关更多详细信息,请参见 备注。
name (str, default None) – 指定返回的 Series 的名称。有关更多详细信息,请参见 Notes。
index (Index, 默认 None) – 指定返回对象的索引。有关更多详细信息,请参见 说明。
skip_infer (bool, 默认值为 False) – 当未指定 dtypes 或 output_type 时,是否推断数据类型。
args (元组和字典) – 可选的位置参数和关键字参数,传递给func。
kwargs (元组和字典) – 传递给 func 的可选位置参数和关键字参数。
- Returns
应用的
- Return type
另请参阅
备注
在决定输出数据类型和返回值的形状时,Mars 将尝试将
func应用到一个模拟的分组对象上,而 apply 调用可能会失败。当这种情况发生时,您需要在 output_type 中指定 apply 调用的类型(DataFrame 或 Series)。对于DataFrame输出,您需要指定一个列表或一个pandas系列作为
dtypes的输出DataFrame。index的输出也可以被指定。对于系列输出,您需要指定
dtype和name的输出系列。