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ãoAqui 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