@ respuesta de KennyTM es muy pulido, y realmente funciona para su caso, pero como una alternativa que puede ofrecer un poco más de flexibilidad para la expansión de las matrices tratan 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]])
Por lo tanto, esto logra repitiendo a lo largo de un eje, para conseguir que a lo largo de múltiples ejes (como es posible que desee), sólo tiene que anidar las llamadas np.repeat
:
>>> 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]])
usted también puede variar el número de repeticiones fo r cualquier fila o columna inicial. Por ejemplo, si usted quiere dos repeticiones de cada fila aparte de la última fila:
>>> np.repeat(a, [2,2,1], axis=0)
array([[1, 5, 9],
[1, 5, 9],
[2, 7, 3],
[2, 7, 3],
[8, 4, 6]])
Aquí cuando el segundo argumento es un list
se especifica un modo de fila (filas en este caso porque axis=0
) repite para cada fila .
https: //docs.scipy. org/doc/numpy/reference/generated/numpy.repeat.html –