Insertar un nuevo eje dentro de una array NumPy

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *