将dict转换为dataframe时,pandas的内存错误

问题描述 投票:0回答:1

我有一个几乎70K X 70K维度的字典变量,我想将其转换为Dataframe以供进一步操作

wd=pd.DataFrame(wordDict)

但工作5分钟后,它给我跟随错误:

subarr=np.empty(len(),dtype=dtyp)
Memory Error

我可以找到一些关于它的帖子,但似乎它是熊猫和Numpy库的常见问题,不幸的是没有人可以提供具体的答案,大多数时候他们建议切片数据集并用两三步喂它。

只是我再次提出这个问题,希望可能是库得到一些更新来修复它,或者可能有一些技术需要克服这个问题。

作为总结;这是一个错误吗?是否有任何替代解决方案将字典转换为dataframe谢谢

python pandas dataframe out-of-memory
1个回答
0
投票

这不是一个错误。

大小为70k x 70k的数​​组意味着需要存储在数据帧中的49亿个变量。

数据帧相对于字典和列表等对象具有开销。因此,您需要两倍于字典使用的内存来构建数据帧。

您需要考虑另一种使用数据的方式。一些例子:

  • 使用HDF5懒惰地将数据写入文件,然后读取内存不足。
  • 将数据存储在懒惰写入的csv文件中,以块的形式读取和过滤以减少内存消耗。
  • 将数据存储在懒惰写入的csv文件中,通过dask.dataframe进行读取和过滤。

您尚未在问题中提供具体信息,以便我们进一步提供建议。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.