Pandas: cadê a memória vazando aqui?

Eu enfrento o problema de vazamentos de memória usandopandas biblioteca empython. eu criopandas.dataframe objetos na minha classe e tenho método, que alteram o tamanho do dataframe de acordo com minhas condições. Depois de alterar o tamanho do dataframe e criar o novo objeto pandas, eu reescrevo o pandas.dataframe original na minha classe. Mas o uso de memória é muito alto, mesmo após uma redução significativa da tabela inicial. Alguns códigos para exemplos curtos (não escrevi gerenciador de processos, consulte gerenciador de tarefas):

import time, string, pandas, numpy, gc
class temp_class ():

    def __init__(self, nrow = 1000000, ncol = 4, timetest = 5):

        self.nrow = nrow
        self.ncol = ncol
        self.timetest = timetest

    def createDataFrame(self):

        print('Check memory before dataframe creating')
        time.sleep(self.timetest)
        self.df = pandas.DataFrame(numpy.random.randn(self.nrow, self.ncol),
            index = numpy.random.randn(self.nrow), columns = list(string.letters[0:self.ncol]))
        print('Check memory after dataFrame creating')
        time.sleep(self.timetest)

    def changeSize(self, from_ = 0, to_ = 100):

        df_new = self.df[from_:to_].copy()
        print('Check memory after changing size')
        time.sleep(self.timetest)

        print('Check memory after deleting initial pandas object')
        del self.df
        time.sleep(self.timetest)

        print('Check memory after deleting copy of reduced pandas object')
        del df_new
        gc.collect()
        time.sleep(self.timetest)

if __name__== '__main__':

    a = temp_class()
    a.createDataFrame()
    a.changeSize()

Antes da criação do dataframe, tenho aprox. 15 mb de uso de memória

Depois de criar - 67mb

Depois de alterar o tamanho - 67 mb

Depois de excluir o dataframe original - 35mb

Depois de deletar mesa reduzida - 31 mb.

16 mb?

Eu uso python 2.7.2 (x32) no Windows 7 (x64) da máquina, pandas.versão é 0.7.3. numpy.versão é 1.6.1

questionAnswers(1)

yourAnswerToTheQuestion