Necesito crear una matriz de longitud NumPy n, cada elemento de los cuales es v.
¿Hay algo mejor que:
a = empty(n)
for i in range(n):
a[i] = v
Sé zerosy onesfuncionaría para v = 0, 1. Podría usar v * ones(n), pero no funcionará cuando lo sería mucho más lento.vesté None, y también
v * ones(n)todavía es horrible, ya que utiliza la costosa multiplicación. Sin embargo, reemplace *con +, y v + zeros(n)resulta ser sorprendentemente bueno en algunos casos ( stackoverflow.com/questions/5891410/… ).
var = np.empty(n)y luego llenarlo con 'var [:] = v'. (por cierto, np.full()es tan rápido como esto)

a = np.zeros(n)en el bucle es más rápido quea.fill(0). Esto es contrario a lo que esperaba, ya que penséa=np.zeros(n)que necesitaría asignar e inicializar nueva memoria. Si alguien puede explicar esto, lo agradecería.