首页 > 解决方案 > Dask:在 groupby 中使用 Grouper 后迭代组

问题描述

在 dask groupby 中使用 Grouper 后是否可以遍历每个组。我试过了

import dask.dataframe as dd
import pandas as pd
pdf = pd.DataFrame({'A':[1, 2, 3, 4, 5], 'B':['1985','1985','1990','1990','1990']})
pdf['B']=pd.to_datetime(pdf['B'], format="%Y")
ddf = dd.from_pandas(pdf, npartitions = 3)
groups = ddf.groupby(pd.Grouper(key='B', freq="Y"))
for group in ddf['B'].unique().compute():
    print(groups.get_group(pd.Timestamp(group))['A'].mean().compute())

但是得到一个错误:

TypeError: object of type 'TimeGrouper' has no len()

这类似于问题iterate over GroupBy object in dask但使用 Grouper。

标签: pythonpandasgroup-bydask

解决方案


推荐阅读