我应该如何处理以便能够绘制一些来自大型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中处理。
答案 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()