我正在使用Pandas进行分析(我目前正在使用Jupyter Network)。我有两个大型数据集(一个是14 GB,第二个是4 GB)。我需要根据列合并这两个数据集。我使用以下代码:
df = pd.merge(aa, bb, on='column', how='outer')
通常,此代码有效。但是,由于我的数据集很大,需要花费很多时间。我在4小时前运行我的代码,但仍在继续。我的机器的RAM是8 GB。 你有什么建议吗?
答案 0 :(得分:2)
您可以尝试使用dask.dataframe
并行化您的任务:
import dask.dataframe as dd
# define lazy readers
aa = dd.read_csv('file1.csv')
bb = dd.read_csv('file2.csv')
# define merging logic
dd_merged = aa.merge(bb, on='column', how='outer')
# apply merge and convert to dataframe
df = dd_merged.compute()