我不确定自己缺少了什么,我以为dask可以解决我的内存问题。我有100多个以.pickle格式保存的pandas数据框,我想将它们全部放入同一个数据框中,但总是遇到内存问题。我已经增加了jupyter中的内存缓冲区。似乎在创建dask数据框时可能漏掉了某些东西,因为它似乎会在完全填满RAM后导致笔记本崩溃(也许)。有什么建议吗?
以下是我使用的基本流程:
import pandas as pd
import dask.dataframe as dd
ddf = dd.from_pandas(pd.read_pickle('first.pickle'),npartitions = 8)
for pickle_file in all_pickle_files:
ddf = ddf.append(pd.read_pickle(pickle_file))
ddf.to_parquet('alldata.parquet', engine='pyarrow')
- 我尝试了各种
npartitions
,但没有数字能让代码完成运行。 - 总的来说,我有大约30GB的捆绑数据框,我想要合并。
- 也许这不是正确的库,但文档建议dask应该能够处理这个问题。
df.npartitions
的输出是什么? 一个pickle文件是否适合内存? - rpanai