Dask中的基本groupby操作[英] basic groupby operations in Dask

本文是小编为大家收集整理的关于Dask中的基本groupby操作的处理方法,想解了Dask中的基本groupby操作的问题怎么解决?Dask中的基本groupby操作问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在尝试使用dask处理大文件(50 GB).通常,我会将其加载到内存中并使用熊猫.我想将两个列"

在熊猫中,我会做以下操作:

df['C'] = df.groupby(['A','B'])['C'].fillna(method = 'ffill')

dask中的等效是什么? 另外,我对如何在dask中构建问题而不是在熊猫中构建问题有些失落,

谢谢,

到目前为止我的进度:

第一套索引:

df1 = df.set_index(['A','B'])

然后groupby:

df1.groupby(['A','B']).apply(lambda x: x.fillna(method='ffill').compute()

推荐答案

看起来Dask当前未实现GroupBy对象的fillna方法.我已经尝试过一段时间了,很快就放弃了.

另外,dask不支持method参数(因为使用延迟算法实现并不总是很琐碎).

解决方案可以在分组之前使用fillna,例如:

df['C'] = df.fillna(0).groupby(['A','B'])['C']

尽管没有测试.

您可以在这里找到我的(失败)尝试: https://github.com/nirizr/dask/tree/groupy_fillna

本文地址:https://www.itbaoku.cn/post/1728189.html