maneira mais rápida de aumentar uma matriz numérica num

Requirements:

Preciso aumentar uma matriz arbitrariamente grande a partir de dado Eu posso adivinhar o tamanho (aproximadamente 100-200) sem garantias de que a matriz caiba semp Uma vez crescido até o tamanho final, preciso realizar cálculos numéricos, então prefiro chegar a um array numpy 2 velocidade é crítica. Por exemplo, para um dos 300 arquivos, o método update () é chamado 45 milhões de vezes (leva cerca de 150s) e o método finalize () é chamado 500k vezes (leva o total de 106s) ... levando um total de 250s ou então

Aqui está o meu código:

def __init__(self):
    self.data = []

def update(self, row):
    self.data.append(row)

def finalize(self):
    dx = np.array(self.data)

Outras coisas que tentei incluir o código a seguir ... mas isso é muito mais lent

def class A:
    def __init__(self):
        self.data = np.array([])

    def update(self, row):
        np.append(self.data, row)

    def finalize(self):
        dx = np.reshape(self.data, size=(self.data.shape[0]/5, 5))

Aqui está um esquema de como isso é chamado:

for i in range(500000):
    ax = A()
    for j in range(200):
         ax.update([1,2,3,4,5])
    ax.finalize()
    # some processing on ax

questionAnswers(5)

yourAnswerToTheQuestion