gpt4 book ai didi

python - Dask 数据帧 : Memory error with merge

转载 作者:行者123 更新时间:2023-12-04 12:01:34 33 4
gpt4 key购买 nike

我正在使用一些 github 用户数据,并试图创建同一城市中所有人的图表。为此,我需要在 dask 中使用合并操作。不幸的是,github 用户群大小为 6M,似乎合并操作导致结果数据帧爆炸。我使用了以下代码

import dask.dataframe as dd
gh = dd.read_hdf('data/github.hd5', '/github', chunksize=5000, columns=['id', 'city']).dropna()
st = dd.read_hdf('data/github.hd5', '/github', chunksize=5000, columns=['id', 'city']).dropna()
mrg = gh.merge(st, on='city').drop('city', axis=1)
mrg['max'] = mrg.max(axis=1)
mrg['min'] = mrg.min(axis=1)
mrg.to_castra('github')

我可以使用此代码合并其他条件,例如名称/用户名,但是当我尝试运行上述代码时出现 MemoryError。

我尝试使用同步/多处理和线程调度程序运行它。

我正在尝试在具有 8GB RAM 的戴尔笔记本电脑 i7 4core 上执行此操作。不应该以分块的方式进行此操作还是我弄错了?使用 Pandas 数据帧迭代器编写代码是唯一的出路吗?

最佳答案

不再支持 Castra,因此建议使用 HDF。根据评论,使用 to_hdf() 写入多个文件解决了内存错误:mrg.to_hdf('github-*.hdf')相关文档:https://docs.dask.org/en/latest/generated/dask.dataframe.DataFrame.to_hdf.html

关于python - Dask 数据帧 : Memory error with merge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39114990/

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