大数据中多列计算的内存错误

Posted

技术标签:

【中文标题】大数据中多列计算的内存错误【英文标题】:memory error of multi column calculation in large data 【发布时间】:2020-05-19 21:42:18 【问题描述】:

我想计算现有列并创建一个新列。

df = dd.from_pandas(ddf, npartitions=100)

df['new_column'] = df[['column']].apply(lambda dpan_india_df: dpan_india_df['column']*8000, axis = 1, meta=('object'))

如何有效地使用内存? 供您参考,此文件为 800M 文件。

  File "Sectorize3.py", line 55, in <lambda>
    df['new_column'] = df[['column']].apply(lambda ddf: ddf['column']*8000, axis = 1, meta=('object'))
MemoryError: occurred at index 1512070

【问题讨论】:

【参考方案1】:

你可以这样做。

df['new_column']=df['column']*8000

【讨论】:

我得到 MemoryError lambda x: op(x, rvalues)) MemoryError 如果没有apply也可以,为什么还要使用apply呢?或者我遗漏了什么,可以详细说明一下吗? 我首先按照您的方式进行操作,但出现内存错误并编写了应用程序。但我现在解决了。 “列”的类型不是浮点数。于是我把类型改成了数字,成功了。 我遇到了同样的错误!您能否详细说明或在修复后分享代码?谢谢!

以上是关于大数据中多列计算的内存错误的主要内容,如果未能解决你的问题,请参考以下文章

大矩阵和内存问题

大数据的pyplot中的内存错误

使用 jdbc 驱动程序读取大表时超时和内存不足错误

在 scipy 中计算成对距离时出现内存错误

pandas .drop() 内存错误大文件

在Android中上传大文件而不会出现内存不足错误