He visto preguntas similares a esta, pero ninguna aborda directamente el problema. He sincronizado las dos formas siguientes de llenar el conjunto y la mitad del tiempo usando np.zeros() es más rápido y la mitad del tiempo hacerlo directamente es más rápido. ¿Hay una manera preferible? Soy bastante nuevo en el uso de matrices numpy, y me he involucrado con el objetivo de acelerar mi código sin pensar demasiado en la legibilidad.manera más rápida de rellenar una matriz numérica 1D
import numpy as np
import time
lis = range(100000)
timer = time.time()
list1 = np.array(lis)
print 'normal array creation', time.time() - timer, 'seconds'
timer = time.time()
list2 = np.zeros(len(lis))
list2.fill(lis)
print 'zero, fill - array creation', time.time() - timer, 'seconds'
Gracias
La forma Pythonic a la velocidad de ejecución de referencia es el uso de la [ 'timeit'] (http://docs.python.org /library/timeit.html) módulo. – mac
@mac ok Lo usaré a partir de ahora. Esta es casi la primera vez/perfil (cProfiler) que he necesitado para sincronizar mis funciones – Anake