¿Hay alguna forma de inicializar una matriz numpy de una forma y agregarla? Explicaré lo que necesito con un ejemplo de lista. Si quiero crear una lista de objetos generados en un bucle, puedo hacer:
a = []
for i in range(5):
a.append(i)
Quiero hacer algo similar con una matriz numpy. Sé sobre vstack, concatenate, etc. Sin embargo, parece que estos requieren dos matrices numpy como entradas. Lo que necesito es:
big_array # Initially empty. This is where I don't know what to specify
for i in range(5):
array i of shape = (2,4) created.
add to big_array
El big_array
debería tener una forma (10,4)
. ¿Como hacer esto?
EDITAR:
Quiero agregar la siguiente aclaración. Soy consciente de que puedo definir big_array = numpy.zeros((10,4))
y luego llenarlo. Sin embargo, esto requiere especificar el tamaño de big_array de antemano. Sé el tamaño en este caso, pero ¿y si no lo sé? Cuando usamos la .append
función para extender la lista en Python, no necesitamos saber su tamaño final de antemano. Me pregunto si existe algo similar para crear una matriz más grande a partir de matrices más pequeñas, comenzando con una matriz vacía.
x = numpy.array()
lo haríamos con una lista como y = []
; pero no funcionó
[i for i in range(5)]
. (Equivalentementelist(range(5))
, aunque este es un ejemplo artificial.)