C'è un modo per inizializzare una matrice numpy di una forma e aggiungerla ad essa? Spiegherò di cosa ho bisogno con un esempio di elenco. Se voglio creare un elenco di oggetti generati in un ciclo, posso fare:
a = []
for i in range(5):
a.append(i)
Voglio fare qualcosa di simile con un array intorpidito. Conosco vstack, concatenare ecc. Tuttavia, sembra che richiedano due array intorpiditi come input. Quello di cui ho bisogno è:
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
L' big_array
dovrebbe avere una forma (10,4)
. Come fare questo?
MODIFICARE:
Voglio aggiungere il seguente chiarimento. Sono consapevole di poter definire big_array = numpy.zeros((10,4))
e quindi riempirlo. Tuttavia, ciò richiede di specificare in anticipo la dimensione di big_array. Conosco le dimensioni in questo caso, ma se non lo facessi? Quando usiamo la .append
funzione per estendere l'elenco in Python, non abbiamo bisogno di conoscere in anticipo la sua dimensione finale. Mi chiedo se esiste qualcosa di simile per creare un array più grande da array più piccoli, iniziando con un array vuoto.
x = numpy.array()
il modo in cui faremmo una lista come y = []
; ma non ha funzionato
[i for i in range(5)]
. (Equivalentemente:list(range(5))
anche se questo è un esempio inventato.)