当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.dataframe.groupby.Aggregation用法及代码示例


用法:

class dask.dataframe.groupby.Aggregation(name, chunk, agg, finalize=None)

用户定义groupby-aggregation。

这个类允许用户在map-reduce 风格的 Pandas 数据帧上的操作方面定义自己的自定义聚合。您需要指定对每个数据块执行什么操作,如何将这些数据块组合在一起,以及如何最终确定结果。

有关更多信息,请参见聚合。

参数

namestr

聚合的名称。它应该是唯一的,因为中间结果将由该名称标识。

chunk可调用的

将使用每个分区的分组列调用的函数。它可以返回单个系列或系列的元组。索引必须等于组。

agg可调用的

将调用以聚合每个块的结果的函数。同样,参数将被分组系列。如果 chunk 返回一个元组,则将调用 agg 并将它们全部作为单独的位置参数。

finalize可调用的

一个可选的终结器,将使用聚合的结果调用。

例子

我们可以如下实现sum

>>> custom_sum = dd.Aggregation(
...     name='custom_sum',
...     chunk=lambda s: s.sum(),
...     agg=lambda s0: s0.sum()
... )  
>>> df.groupby('g').agg(custom_sum)

我们可以如下实现mean

>>> custom_mean = dd.Aggregation(
...     name='custom_mean',
...     chunk=lambda s: (s.count(), s.sum()),
...     agg=lambda count, sum: (count.sum(), sum.sum()),
...     finalize=lambda count, sum: sum / count,
... )  
>>> df.groupby('g').agg(custom_mean)

当然,这两个都是内置的,所以你不需要自己实现它们。

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.dataframe.groupby.Aggregation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。