當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。