ray.data.Dataset.aggregate#

Dataset.aggregate(*aggs: AggregateFn) Any | Dict[str, Any][源代码]#

使用一个或多个函数聚合值。

使用此方法计算列的乘积等指标。

备注

此操作将触发对此数据集执行的延迟转换。

备注

此操作要求所有输入在对象存储中具体化,以便执行。

示例

import ray
from ray.data.aggregate import AggregateFn

ds = ray.data.from_items([{"number": i} for i in range(1, 10)])
aggregation = AggregateFn(
    init=lambda column: 1,
    # Apply this to each row to produce a partial aggregate result
    accumulate_row=lambda a, row: a * row["number"],
    # Apply this to merge partial aggregate results into a final result
    merge=lambda a1, a2: a1 * a2,
    name="prod"
)
print(ds.aggregate(aggregation))
{'prod': 362880}

时间复杂度:O(数据集大小 / 并行度)

参数:

*aggs聚合 来执行。

返回:

一个 dict ,其中每个值是给定列的聚合。