Esta publicación trata sobre las formas de aumentar la dimensión de una array en NumPy. NumPy nos proporciona dos funciones integradas diferentes para aumentar la dimensión de una array, es decir,
1D array will become 2D array 2D array will become 3D array 3D array will become 4D array 4D array will become 5D array
Método 1: Usar numpy.newaxis()
El primer método es usar el objeto numpy.newaxis. Este objeto es equivalente a usar Ninguno como parámetro al declarar la array. El truco consiste en utilizar el objeto numpy.newaxis como parámetro en la ubicación del índice en la que desea agregar el nuevo eje.
Ejemplo:
Python3
import numpy as np arr = np.arange(5*5).reshape(5, 5) print(arr.shape) # promoting 2D array to a 5D array # arr[None, ..., None, None] arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis] print(arr_5D.shape)
Producción:
(5, 5) (1, 5, 5, 1, 1)
Método 2: Usar numpy.expand_dims()
El segundo método es usar la función numpy.expand_dims() que tiene un eje intuitivo kwarg. Esta función toma dos parámetros. El primero es la array de la que desea aumentar la dimensión y el segundo es el índice/índices de la array en la que desea crear un nuevo eje.
Ejemplo:
Python3
import numpy as np x = np.zeros((3, 4)) y = np.expand_dims(x, axis=1).shape print(y)
Producción:
(3, 1, 4)
Ejemplo 2: Inserte simultáneamente muchos ejes nuevos en la array.
Python3
import numpy as np arr = np.arange(5*5).reshape(5,5) print(arr.shape) newaxes = (0, 3, -1) arr_5D = np.expand_dims(arr, axis=newaxes) print(arr_5D.shape)
Producción:
(5, 5) (1, 5, 5, 1, 1)
Publicación traducida automáticamente
Artículo escrito por samrat2825 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA