Как избежать ошибок памяти

Обновить

April 2019

Просмотры

1.2k раз

1

Как я должен действовать, чтобы иметь возможность построить некоторые данные, поступающие из большого 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

Так что тогда? Что делать, если мне нужно, чтобы построить некоторые данные из такой большой таблицы?

Замечания:

Работа с Python 2.7 32 бит на 64-битной машине 8GB Windows,

Я знаю, что решение будет использовать питона 64, но она должна быть возможность обращаться в питона 32 тоже.

1 ответы

1

Try to find out what section of your data you really want to plot. It doesn't make sense to have > 1 million dots on your screen. You say it yourself: ... if I need to plot __some__ data from such a big table.

I haven't worked with PyTables yet, but the documentation says it's returning numpy objects, so no need to iterate over the rows.

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

pyplot.imshow(heatmap)
pyplot.show()