pandas数据框的最大大小

pandas数据框的最大大小,第1张

pandas数据框的最大大小

我将按照评论中的说明发布此答案。我已经看到它多次出现而没有被接受的答案。

内存错误很直观-内存不足。但是有时,由于您有足够的内存,因此对该错误的解决方案或调试令人沮丧,但该错误仍然存​​在。

1)检查代码错误

这可能是一个“愚蠢的步骤”,但这就是为什么它是第一个原因。确保没有无限循环或已知会花费很长时间的事情(例如使用某些

os
模块来搜索整个计算机并将其输出到excel文件中)

2)使您的代码更高效

遵循步骤1的步骤。但是,如果简单的事情需要花费很长时间,则通常可以使用模块或更好的方式来完成更快,更高效的内存。这就是Python和/或开源语言的美!

3)检查对象的总内存

第一步是检查对象的内存。关于此,Stack上有很多线程,因此您可以搜索它们。热门答案在这里和这里

要找到被咬的物体的大小,您可以随时使用

sys.getsizeof()

import sysprint(sys.getsizeof(OBEJCT_NAME_HERE))

现在,错误可能会在创建任何东西之前发生,但是如果您分块读取csv,则可以看到每个块正在使用多少内存。

4)运行时检查内存

有时您有足够的内存,但是正在运行的功能在运行时会占用大量内存。这将导致内存峰值超过完成对象的实际大小,从而导致代码/过程出错。实时检查内存很长,但是可以完成。Ipython很好。检查他们的文件。

使用以下代码直接在Jupyter Notebook中查看文档:

%mprun?%memit?

样品使用:

%load_ext memory_profilerdef lol(x):    return x%memit lol(500)#output --- peak memory: 48.31 MiB, increment: 0.00 MiB

5)这可能是第一个。。。。。

与您的情况一样,只需切换所运行的python版本即可解决此问题。

通常上述步骤可以解决我的问题。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5630467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存