gpt4 book ai didi

python - Dask 中的基本 groupby 操作

转载 作者:行者123 更新时间:2023-11-28 18:29:07 27 4
gpt4 key购买 nike

我正在尝试使用 Dask 处理大文件 (50 GB)。通常,我会将它加载到内存中并使用 Pandas。我想对两列“A”和“B”进行分组,每当“C”列以一个值开头时,我想在该列中为该特定组重复该值。

在 Pandas 中,我会做以下事情:

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

Dask 中的等价物是什么?此外,对于如何在 Dask 中构建问题而不是在 Pandas 中,我有点迷茫,

谢谢你,

到目前为止我的进步:

第一组索引:

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

然后分组:

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

最佳答案

看起来 dask 目前没有为 GroupBy 对象实现 fillna 方法。我前段时间尝试过 PRing,但很快就放弃了。

此外,dask 不支持 method 参数(因为使用延迟算法实现它并不总是微不足道的)。

解决方法是在分组之前使用 fillna,如下所示:

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

虽然这没有经过测试。

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

关于python - Dask 中的基本 groupby 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38901845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com