首页 > 解决方案 > 使用 DataFrameMapping 时如何解决内存错误?

问题描述

嗨,我有以下代码,由于某种原因,我遇到了内存错误 - 代码中有什么东西吗?

from sklearn_pandas import DataFrameMapper
createTrainingAndValidation(finalDf, 'words')
data = finalDf[['between_count','words']]
mapper = DataFrameMapper([
    (['between_count'], None),
    ('words',CountVectorizer(ngram_range=(1, 1)))
])
X=mapper.fit_transform(data)
print (X)

标签: pythondataframeout-of-memory

解决方案


内存错误表明您已超出系统的内存容量,例如使用多 GB 数据集。也许 CountVectorizer 可能会爆炸大小?可能需要一台不同的、更强大的机器。或者,您可以通过多处理、更少的复制操作等来提高您的操作的内存效率。

最后,内存不足pandas是该Dask项目的目标。看看他们:https ://dask.org/ ,他们可能有一个可以达到你目标的模式。

如果所有这些都失败了,并且您仍然无法将您的工作放入内存中,pyspark那么可能适合您。这是一个面向分布式数据和机器学习操作的项目。


推荐阅读