如何避免内存错误

时间:2015-01-26 13:36:41

标签: python memory plot pytables

我应该如何处理以便能够绘制一些来自大型pytable(17GB)的数据。

如果我尝试存储我需要的值,我会得到Memory Error,如下所示:

for row in tab.iterrows():

    x.append(row['date'])
    y.append(row['temperature'])

    #this will not end, raises Memory Error

如果我尝试使用数据更新情节,而不存储任何值,我会收到以下消息:

MemoryError
QImage: out of memory, returning null image
那么呢?我该怎么办如果我需要从这么大的桌子上绘制一些数据?

注意:

在Windows 64位计算机8GB上使用python 2.7 32位

我知道解决方案是使用python 64,但是,它也应该可以在python 32中处理。

1 个答案:

答案 0 :(得分:1)

尝试找出您 想要绘制的数据的哪个部分。拥有>没有意义。屏幕上有100万个点。你自己说:... if I need to plot __some__ data from such a big table

我尚未使用PyTables,但the documentation表示它正在返回numpy个对象,因此无需迭代行。

histogram, xedges, yedges = 
   numpy.histogram2d(
      tab.col('date'),
      tab.col('temperature'),
      bins=50)

pyplot.imshow(heatmap)
pyplot.show()