在我的应用程序中,我使用 groupby 对 dask 数据帧执行聚合,按特定 id 排序。
但是我希望聚合保持分区划分,因为我打算与其他相同分区的数据帧执行连接。
import pandas as pd
import numpy as np
import dask.dataframe as dd
df =pd.DataFrame(np.arange(16), columns=['my_data'])
df.index.name = 'my_id'
ddf = dd.from_pandas(df, npartitions=4)
ddf.npartitions
# 4
ddf.divisions
# (0, 4, 8, 12, 15)
aggregated = ddf.groupby('my_id').agg({'my_data': 'count'})
aggregated.divisions
# (None, None)
有没有办法做到这一点?
最佳答案
您可能无法维护相同 分区,因为 dask 需要聚合分区之间的计数。您的数据必须以取决于数据值的方式移动。
如果您希望确保输出有多个分区,那么您可以选择使用 split_out=
关键字来agg
关于python - 如何在 dask 中执行分组聚合后保留分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48832364/