内存错误np.hstack公司()

2024-10-01 13:41:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试执行以下代码:

for i in Fil:  
    for k in DatArr:  
        a = np.zeros(0)  
        for j in Bui:  
            a = np.hstack([a,DatDifCor[k][i,j]])  
        DatDifPlt[k].update({i:a})  

但它给了我一个错误:

^{pr2}$

我一开始以为是因为内存不足,但后来我在一台内存为48GB的个人电脑上试了一下,结果显示了同样的错误。我已经达到了a的最大尺寸了吗NumPy.array?在


Tags: 内存代码infor错误npzerosupdate
1条回答
网友
1楼 · 发布于 2024-10-01 13:41:42

MemoryError总是意味着分配内存的尝试失败。尝试创建大于最大数组大小的数组会导致ValueError

>>> a = numpy.arange(500000000)
>>> numpy.hstack((a, a))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/core/shape_base.py", line 258, in hstack
    return _nx.concatenate(map(atleast_1d,tup),1)
ValueError: array is too big.

请注意,48GB的内存也是有限的,并且您的操作系统(甚至硬件平台)可能会将单个进程的大小限制为4GB。在

相关问题 更多 >