【发布时间】:2017-07-07 07:24:31
【问题描述】:
我正在尝试合并两个大熊猫数据帧,但它在我的 4GB RAM 笔记本电脑上引发了内存错误,所以我在计算机实验室尝试使用 16GB RAM,但它仍然引发相同的错误(在同一行代码上崩溃)。
我无法解决为什么 pandas 会引发相同的错误并且不使用 16 GB RAM 空间。请帮我解决它。
feature_AtomPairs2DFingerprintCount=pd.read_csv("/home/adarsh/big_data_features/AtomPairs2DFingerprintCount.csv")
feature_AtomPairs2DFingerprinter=pd.read_csv("/home/adarsh/big_data_features/AtomPairs2DFingerprinter.csv")
merged_data_2=pd.merge(feature_AtomPairs2DFingerprinter,feature_AtomPairs2DFingerprintCount,how='left')
MERGED_DATA=pd.read_csv('/home/adarsh/comp_des.csv')
total_merged=pd.merge(MERGED_DATA,merged_data_2,how='left')
【问题讨论】:
-
您也可以向我们展示您的代码吗?除了增加内存,它可能还有优化的空间。
-
如果数据框很大,请使用dask。
-
很有可能,您的代码正在做一些您不希望它做的事情,可能是意外的笛卡尔连接。尝试在较小的子集上进行合并,看看会发生什么。
-
@jsalonen ,@ken Wei ,我已经添加了代码。
-
文件有多大以及究竟是哪一行引发了内存错误(可能是合并之一?)对于大数据文件,单独的 Pandas 可能不适合您的需求,可能考虑查看类似于 Spark。
标签: python pandas memory-management out-of-memory