@ risposta di KennyTM è molto liscia, e funziona davvero per il vostro caso, ma come un'alternativa che potrebbe offrire un po 'più di flessibilità per l'espansione array cercano np.repeat
:
>>> a = np.array([[1, 5, 9],
[2, 7, 3],
[8, 4, 6]])
>>> np.repeat(a,2, axis=1)
array([[1, 1, 5, 5, 9, 9],
[2, 2, 7, 7, 3, 3],
[8, 8, 4, 4, 6, 6]])
Quindi, questo compie ripetendo insieme un asse, per ottenere lungo più assi (come si potrebbe desiderare), semplicemente il nido np.repeat
chiamate:
>>> np.repeat(np.repeat(a,2, axis=0), 2, axis=1)
array([[1, 1, 5, 5, 9, 9],
[1, 1, 5, 5, 9, 9],
[2, 2, 7, 7, 3, 3],
[2, 2, 7, 7, 3, 3],
[8, 8, 4, 4, 6, 6],
[8, 8, 4, 4, 6, 6]])
è anche possibile variare il numero di ripetizioni fo r qualsiasi riga o colonna iniziale. Ad esempio, se si voleva due ripetizioni di ogni riga a parte l'ultima riga:
>>> np.repeat(a, [2,2,1], axis=0)
array([[1, 5, 9],
[1, 5, 9],
[2, 7, 3],
[2, 7, 3],
[8, 4, 6]])
Qui quando il secondo argomento è un list
specifica una riga-saggio (righe in questo caso perché axis=0
) si ripete per ogni riga .
https: //docs.scipy. org/doc/NumPy/riferimento/generata/numpy.repeat.html –